package onlyfun.caterpillar;
import java.io.*;
import java.util.*;
public class FileDemo {
public static void main(String[] args) {
try {
String name = "FileDemo.java";//讀取的檔案或目錄
File file = new File(name);
if(file.isFile()) { // 是否為檔案
System.out.println(name + " 檔案");
System.out.println(
file.canRead() ? "可讀 " : "不可讀 ");
System.out.println(
file.canWrite() ? "可寫 " : "不可寫 ");
System.out.println(
file.length() + "位元組");
/****************************************************/
try {
//讀取檔案
FileReader fis = new FileReader(name);
BufferedReader brdFile = new BufferedReader(fis);
//寫入檔案
FileWriter fOut = new FileWriter("c.txt");
BufferedWriter bwrFile = new BufferedWriter(fOut);
//一行一行讀取並儲存
int n = 0;
String strLine;
String str = "";
while ((strLine = brdFile.readLine()) != null) {
str += (n++) + strLine + "\n";
}
//將字串一行一行寫入
String s = "";
for(int x = 0 ; x < str.length(); x++){
if(str.charAt(x) != '\n'){
s += str.charAt(x);
}else{
bwrFile.write(s);//寫入一行
bwrFile.newLine();//換行
s = "";//字串重新儲存
}
}
System.out.println(str);
//關閉檔案
brdFile.close();
bwrFile.close();
fOut.close();
fis.close();
}catch (IOException e) {}
/****************************************************/
}
else {
// 列出所有的檔案及目錄
File[] files = file.listFiles();
ArrayList fileList =
new ArrayList();
for(int i = 0; i < files.length; i++) {
// 先列出目錄
if(files[i].isDirectory()) { //是否為目錄
// 取得路徑名
System.out.println("[" +
files[i].getPath() + "]");
}
else {
// 檔案先存入fileList,待會再列出
fileList.add(files[i]);
}
}
// 列出檔案
for(File f: fileList) {
System.out.println(f.toString());
}
System.out.println();
}
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println(
"using: java FileDemo pathname");
}
}
}
2009年6月24日
網路程式設計 - 期末考偷偷來 ( File I / O )
相關連結
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/JavaGossip2.htm
http://home.so-net.net.tw/idealist/Java/IO.html
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言