顯示具有 JavaIO 標籤的文章。 顯示所有文章
顯示具有 JavaIO 標籤的文章。 顯示所有文章

2009年6月6日 星期六

[Java] JSP 讀取UTF-8檔案

以下程式不考慮UTF-8 BOM的問題

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
File fn=new File("utf8.txt");

FileInputStream fis = new FileInputStream(fn);
//指定utf-8編碼
BufferedReader br = new BufferedReader( new InputStreamReader( fis,"utf-8" ) );
String file_str_append="";
String file_str="";
while((file_str_append=br.readLine())!=null){
file_str+=file_str_append;
}
br.close();
fis.close();
//將utf-8所有檔案內容輸出
System.out.println(file_str);


引用http://www.walkone.com.tw/blog/index.jsp?user_id=test&subject_id=5726

2008年7月28日 星期一

[Java] BufferedReader 和 BufferedWriter 使用方法

import java.io.BufferedReader;
import java.io.BufferedWriter;


Reader rd = new FileReader("abc.txt");
Writer wt = new FileWriter("def.txt");


BufferedReader br = new BufferedReader(rd);
BufferedWriter bw = new BufferedWriter(wt);
String line = null;

while((line = br.readLine()) !=null){
//BufferedWriter user next two line
bw.write(line);
bw.newLine();
System.out.println(line);
}
br.close();

[Java] BufferedReader 和 PrintWriter 使用方法

import java.io.BufferedReader;
import java.io.PrintWriter;

利用FileReader把檔案取出,用PrintWriter寫到另一個檔案中
Reader rd = new FileReader("abc.txt");
Writer wt = new FileWriter("def.txt");

通常都以BufferedReader搭配PrintWriter的方式
BufferedReader是以逐行讀出的方式,一行一行讀出abc.txt 中的內容

BufferedReader br = new BufferedReader(rd);
PrintWriter pw = new PrintWriter(wt);
String line = null;

while((line = br.readLine()) !=null){
  //PrintWriter user next line(usually use this)
  pw.println();
  System.out.println(line);
}
br.close();

[Java] Java I / O 介紹

輸入:
InputStream、Reader
  InputStream:用來讀取位元組資料
  Reader用來讀取字元資料
輸出:
OutputStream、Writer
  InputStream:用來寫出位元組資料
  Reader用來寫出字元資料

常用類別
讀/寫位元:FileInputStream / FileOutputStream
讀/寫字元:FileReader / FileWriter
讀/寫一列文字資料:BufferedReader / BufferedWriter
讀/寫基本型態資料:DataInputStream / DataOutputStream
讀/寫物件:ObjectInputStream / ObjectOutputStream

2008年7月27日 星期日

[Java] FileInputStream 和 FileOutputStream 用法

import java.io.FileInputStream;
import java.io.FileOutputStream;

InputStream is = new FileInputStream("abc.txt");
OutputStream os = new FileOutputStream("def.txt");

int n = 0,total=0;

byte[] ba = new byte[1024];
while ((n = is.read(ba)) != -1){
  os.write(ba, 0, n);
   total+=n;
}
System.out.println("共有" + total + "位元組");

[Java] FileReader 和 FileWrite 用法

import java.io.FileReader;
import java.io.FileWriter;

Reader rd = new FileReader("abc.txt");
Writer wt = new FileWriter("def.txt");

char[] ca = new char[1024];

int n=0,total=0;
while((n = rd.read(ca)) != -1){
  wt.write(ca, 0, n);
  total += n;
}

System.out.println("共有" + total + "字元");

[Java] InputStreamReader 讀取字元

InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(ir);

上面這兩行可縮寫成下面這一行:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.in:代表的是鍵盤,程式會去讀使用者在鍵盤所打的字元
下面程式碼範例為,讀取從鍵盤上,所輸入的字元
String s = "";
while((s = br.readLine())!= null ){
  System.out.print("input : "+ s);
}
br.close();

2008年7月3日 星期四

[Java] 寫入文字到檔案中 FileWriter

取得要寫入文字的檔案
FileWriter fw = new FileWriter("G:/Counter.txt");
寫入字串"Num"
fw.write("Num");
fw.close()

[Java] 讀取檔案中的文字 FileReader

手動建立一個Counter.txt在第一行寫上"100",設定讀取檔案位置
FileReader fr = new FileReader("G:/Counter.txt");
用BufferedReader 讀取
BufferedReader br = new BufferedReader(fr);
String strNum = br.readLine(); //讀第一行

輸出
System.out.println(strNum);

要讀出全部可用while加StringBuffer來達成,改成讀出所有內容的程式碼
StringBuffer sb = new StringBuffer();
while ((strNum=br.readLine())!=null){
  sb.append(strNum);
}

輸出
System.out.println(sb.toString());