国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java中的文件輸入輸出流

2019-11-15 00:38:37
字體:
來源:轉載
供稿:網友
java中的文件輸入輸出流

最近學習了如何讀取輸出文件,貼上部分代碼:

TestInputStream1():

String strFile = "Data/DataGroup.cpp";

File = new File(strFile);

InputStream in = null;

in = new FileInputStream(file);

//創建合適文件大小的數組,一次性把數據從文件中讀出

b1 = new byte[(int)file.length()];

// 讀取文件中的內容到b[]數組,如果read()返回讀取的字節內容,

// 當內容為空時返回-1,可以以此作為判斷文件內容是否讀取完畢

in.read(b1);

in.close();

textArea.append(new String(b1));

TestInputStream2():

int iSize = 1024;

boolean blSleep = true;

String strFile = "Data/DataGroup.cpp";

File file = new File(strFile);

int iCount = (int)file.length()/iSize;

InputStream in = null;

in = new FileInputStream(file);

b2 =new byte[iSize];

int temp = 0;

int no = 0;

while((temp = in.read()) != -1){

no++;

in.read(b2);

System.out.PRintln(new String(b2));

if(no < iCount){

in.read(b2);

System.out.println(new String(b2));

}

else{

blSleep = false;

System.out.print((char)temp);

}

}

in.close();

執行TestInputStream1(),后:

TestOutputStream():讀文本文件,然后顯示到組件,寫到另外一個文件)

// 寫文件時的相關變量

String strOut = "*Data/DataGroup_copy.cpp";

File file = new File(strOut);

OutputStream output = null;

output = new FileOutputStream(file);

output.write(b1);

output.close();

TestPrintStream()://讀取并輸出屏幕上,輸出到文件上

String strFile = "Data/DataGroup.cpp";

File file = new File(strFile);

InputStream in = null;

in = new FileInputStream(file);

//創建合適文件大小的數組,一次性把數據從文件中讀出

b1 = new byte[(int)file.length()];

// 讀取文件中的內容到b[]數組,如果read()返回讀取的字節內容,

// 當內容為空時返回-1,可以以此作為判斷文件內容是否讀取完畢

in.read(b1);

in.close();

// 將數據輸出到屏幕

PrintStream printStream = new PrintStream(System.out);

printStream.println(new String(b1));

printStream.flush(); // 徹底完成輸出并清空緩沖區

printStream.close();

// 將數據輸出到文件

File filePrint = new File("Data/print.cpp");

printStream = new PrintStream(filePrint);

printStream.println(new String(b1));

printStream.close();

TestDataInputStream()

// 鍵盤輸入(如何自適應根據用戶輸入的數據多少分配空間)

byte b[] = new byte[12];

DataInputStream dataInputStream = new DataInputStream(System.in);

String str = null;

dataInputStream.read(b);

dataInputStream.close();

System.out.println(new String(b));

// 文件輸入

String strFile = "Data/表2-5.txt";

byte byFile[] = null;

File file = new File(strFile);

InputStream instream = null;

instream = new FileInputStream(file);

dataInputStream = new DataInputStream(instream);

float temp = (float) 0.0;

str = null;

byFile = new byte[(int)file.length()];

dataInputStream.read(byFile);

dataInputStream.close();

System.out.println(new String(byFile));

TestDataInputStream2()//二進制

System.out.println("從文件中每次讀取一個數值");

DataInputStream dataInputStream = null;

// 文件輸入

String strFile = "Data/表2-5_Copy.txt";

File file = new File(strFile);

InputStream instream = null;

instream = new FileInputStream(file);

dataInputStream = new DataInputStream(instream);

System.out.println("二進制文件讀取結果的輸出!");

float temp = (float) 0.0;

// 判斷是否文件結束

while(dataInputStream.available() > 0){

temp = dataInputStream.readFloat();

System.out.println(temp);

instream.close();

dataInputStream.close();

TestDataOutputStream()

DataOutputStream outputStream = null;

DataInputStream inputStream = null;

// 文件輸入

byte byFile[] = null;

File file = new File("Data/表2-5.txt");

InputStream instream = null;

instream = new FileInputStream(file);

inputStream = new DataInputStream(instream);

String str = null;

byFile = new byte[(int)file.length()];

inputStream.read(byFile);

str = new String(byFile);

inputStream.close();

String strSplit[] = str.split(" ");

System.out.println(strSplit.length);

// 把字符串str中的數據一個一個寫入文件中(二進制格式文件)

String strFile = "Data/表2-5_Copy.txt";

file = new File(strFile);

OutputStream out = null;

out = new FileOutputStream(file);

outputStream = new DataOutputStream(out);

for(int i = 0;i < strSplit.length;i++){

float temp = Float.valueOf(strSplit[i]);

System.out.println(temp);

outputStream.writeFloat(temp);

}

out.close();

outputStream.close();

}

TestBufferReaderAndBufferedWriter()

// 鍵盤輸入

InputStreamReader isr = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(isr) ;

String str = null;

str = br.readLine();

isr.close();

br.close();

System.out.println(str);

// 讀文件

str = null;

String strFile = "Data/result_表2-5.txt";

if(isr != null) isr = null;

isr = new InputStreamReader(new FileInputStream(new File(strFile)));

br = new BufferedReader(isr);

// 寫文件

String strWrite = "Data/result_表2-5_copy.txt";

OutputStreamWriter out = null;

BufferedWriter bw = null;

out = new OutputStreamWriter(new FileOutputStream(new File(strWrite)));

bw = new BufferedWriter(out);

// Java中有沒有類似于rewind函數,即對指針進行重定位?????????

isr = new InputStreamReader(new FileInputStream(new File(strFile)));

br = new BufferedReader(isr);

str = null;

while((str = br.readLine()) != null){

System.out.println(str);

bw.write(str); // 在使用readLine讀取時,換行符已經被取消

bw.newLine();

}

bw.close();

out.close();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遵义县| 托里县| 睢宁县| 淮阳县| 浑源县| 新蔡县| 德庆县| 平泉县| 讷河市| 五原县| 沁水县| 社会| 邮箱| 钟山县| 白山市| 攀枝花市| 古丈县| 石阡县| 津南区| 永修县| 泌阳县| 高邑县| 永靖县| 京山县| 青海省| 祁门县| 政和县| 渑池县| 安吉县| 同江市| 彩票| 玉溪市| 泽库县| 恩平市| 木兰县| 会泽县| 施秉县| 县级市| 巴楚县| 格尔木市| 桦甸市|