關於後端感想
對後端的認識
通常情況下用戶所看到的軟件應用程序只是其中的一小部分,也就是說有一大部分的應用程序是看不到的。這部分我們在使用軟件時看不到的這一大部分,就是我們常說的後端。 在大多數應用中,非用戶接口代碼比用戶接口代碼多得多。複雜系統是在後臺發生的各種使其工作的邏輯。需要存儲和檢索數據,需要遵循業務邏輯和規則,並且需要對結果進行預測。所有這一切都發生在幕後。這就是後端。後端在我看來就是背後把用戶的信息儲存並輸入個服務器,完成信息與功能對接。 正因如此後端對邏輯運算,算法能力的要求比較高。
對流簡單的認識
流的概念:流是指計算機各部件之間的數據流動。數據的交換是雙向的根據這一情況,流可以分爲輸入流與輸出流,從內容來講,流分爲字節流(在java語言中
字節一個字節表示8個byte位即爲8個二進制位,一個字符代表兩個節。)與字符流。
數據流
在java語言中,把不同類型的輸入輸出源(鍵盤,文件,屏幕,網絡等等)抽象位流,其中輸入(輸出)的數據成爲數據流(data stream),用統一的方式來表示,從而使程序設計簡單明確。數據流的兩大類,第一通過使用外設或者外存如鍵盤,鼠標,文件等講數據信息傳輸到,應用程序中的流稱爲數輸入流,而將數據信息從應用程序傳遞到外設說着外存,稱爲輸出流。正是因爲這兩種流的存在,是計算機智能化,
java中通過io中的File以及IOException調用字符流;
import java.io.File;
import java.io.IOException;
public class Filedome {
public static void main(String[] args) {
// 創建對象
File file = new File("E:\\javaio\\name");
// 如果存在該文件輸出true否則返回false
System.out.println(file.exists());
// File file1=new File("e:"+File.separator)
if (!file.exists()) {
// 創建一個文件
file.mkdir();//多級目錄file.mkdirs()
} else {
// 刪除該文件
file.delete();
}
// 是否是一個目錄 如果是目錄返回true,不是返回目錄or目錄不存在返回的是false
System.out.println(file.isDirectory());
// 是否是一個文件
System.out.println(file.isFile());
File file2 = new File("E:\\javaio\\日記1.txt");
//File file2 = new File("E:\\javaio","日記1.txt");
if (!file2.exists())
try {
file2.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
else
file2.delete();
System.out.println();
//常用的File對象的API
System.out.println(file);//文檔的目錄
System.out.println(file.getAbsolutePath());
System.out.println(file.getName());//文檔的名字
System.out.println(file.getParent());//文檔的上級目錄的路徑
System.out.println(file.getParentFile().getAbsolutePath());
}
}
將字符流的文件信息以進制形式列出
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.lang.reflect.Array;
import java.util.Arrays;;
public class RafDemo {
public static void main(String[] args) throws IOException {
File demo = new File("demo");
RandomAccessFile raf = null;
if (!demo.exists()) {
demo.mkdir();
File file = new File(demo, "raf.dat");
if (!file.exists())
file.createNewFile();
raf = new RandomAccessFile(file, "rw");
// 指針的位置
System.out.println(raf.getFilePointer());
raf.write('A');
System.out.println(raf.getFilePointer());
raf.write('B');
int i = 0x7fffffff;
// 用write方法每次只能寫一個字節,如果把i寫進去就要寫4次
raf.write(i >>> 24);
raf.write(i >>> 16);
raf.write(i >>> 8);
raf.write(i);
System.out.println(raf.getFilePointer());
// 可以直接寫一個int
raf.writeInt(i);
String s = "中";
byte[] gbk = s.getBytes("gbk");
raf.write(gbk);
System.out.println(raf.getFilePointer());
// 讀文件,必須把指針移動到頭部
raf.seek(0);
// 一次性讀取,把文件中的內容都讀取到字節數組中
byte[] buf = new byte[(int) raf.length()];
raf.read(buf);
System.out.println(Arrays.toString(buf));
String s1 = new String(buf, "gbk");
System.out.println(s1);
}
raf.close();
}
}
總結
目前對自己而言後端就是通過對文件的處理以及對流處理,查詢文件路徑,以及上一級文件的路徑,或者創建(刪除)文件,等等。