javaファイル操作の作成フォルダパスと新しいファイル
3083 ワード
一:問題
(1)javaのフォルダパスが存在しない場合、先に作成します。
(2)ファイル名のファイルが存在しない場合、まず作成してから読み書きする。存在する場合はそのまま書き入れ、キーワードtrueは追加を表します。
(3)File myPath=new File(toFilePath) if(!myPath.exists(){/このディレクトリが存在しないならば、作成したもの/これは履歴書の1級フォルダだけで、2級は作成できません。。 myPath.mkdir() System.out.println(「フォルダを作成するパスは:」+toFilePath) 上のコードは1級のディレクトリしか作成できません。2級のディレクトリを作成できません。現在のレベルのディレクトリしか作成できません。前のレベルのディレクトリが存在しない場合、作成に失敗します。もちろん再帰的に作成してこの問題を解決することができます。
File myPath=new File(toFilePath)パスをFile.java類の私有属性に伝達しただけです。ソースコードを見てください。ファイルを開けていないので、FileNotFoundExceptionは捨てられません。
(4)//書込みファイル名処理
String fileN=tofilePath+\\\\n+fileName; BufferedWriter=new BufferedWriter;
下記のコードとの比較
File file=new File(origginal Path) if(file.isfile()&file.exists(){/判断ファイルが存在するかどうか InputStream Reader read=new InputStream Reader( new FileInputStream(file)、encoding)//符号化フォーマットを考慮して BufferedReader bufferedReader=new Buffereder(read)
)
実は、FileWriterはFileOutput Streamを包装しました。関数ソースコードは以下の通りです。ですから、この二つは似ています。ただstreamはフィルタコードが適用されます。
public FileWriter(File file)throws IOException{ super(new FileOutputStream); }
二:コード実現
FileWriterは牛です。ファイル名のファイルが存在しないなら、まず作成してから読みます。存在すれば直接に追加して書きます。キーワードtrueは追加を表します。 しかし彼は一行の読み書きしかできません。むしろクッションの読み書きの効率がいいです。
javaの多種の方式はファイルを読んで、ファイルの内容を追加して、ファイルの各種の操作に対して会います:java多種の方式はファイルを読んで、ファイルの内容を追加して、ファイルの各種の操作に対して
(1)javaのフォルダパスが存在しない場合、先に作成します。
(2)ファイル名のファイルが存在しない場合、まず作成してから読み書きする。存在する場合はそのまま書き入れ、キーワードtrueは追加を表します。
(3)File myPath=new File(toFilePath) if(!myPath.exists(){/このディレクトリが存在しないならば、作成したもの/これは履歴書の1級フォルダだけで、2級は作成できません。。 myPath.mkdir() System.out.println(「フォルダを作成するパスは:」+toFilePath) 上のコードは1級のディレクトリしか作成できません。2級のディレクトリを作成できません。現在のレベルのディレクトリしか作成できません。前のレベルのディレクトリが存在しない場合、作成に失敗します。もちろん再帰的に作成してこの問題を解決することができます。
File myPath=new File(toFilePath)パスをFile.java類の私有属性に伝達しただけです。ソースコードを見てください。ファイルを開けていないので、FileNotFoundExceptionは捨てられません。
(4)//書込みファイル名処理
String fileN=tofilePath+\\\\n+fileName; BufferedWriter=new BufferedWriter;
下記のコードとの比較
File file=new File(origginal Path) if(file.isfile()&file.exists(){/判断ファイルが存在するかどうか InputStream Reader read=new InputStream Reader( new FileInputStream(file)、encoding)//符号化フォーマットを考慮して BufferedReader bufferedReader=new Buffereder(read)
)
実は、FileWriterはFileOutput Streamを包装しました。関数ソースコードは以下の通りです。ですから、この二つは似ています。ただstreamはフィルタコードが適用されます。
public FileWriter(File file)throws IOException{ super(new FileOutputStream); }
二:コード実現
package edu.tju.cs;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
public class AllTest {
/*public static void main(String[] args){
System.out.println("****\\\\");
String str = "a\\b\\b\\c.csv|aaaaa";
String[] chars = str.split("\\\\");
String[] fileName = chars[3].split("\\.");// u002e
String[] tmp = chars[3].split("\\u007c");// \\u007c
for(String cha:chars){
System.out.println(cha);
}
System.out.println(fileName[0]);
System.out.println(tmp[1]);
}*/
public static void main(String args[])
{
StringBuffer fileBuf=new StringBuffer();
String filePar = "d:\\test";//
File myPath = new File( filePar );
if ( !myPath.exists()){// ,
myPath.mkdir();
System.out.println(" :"+ filePar);
}
//
String filename = "test.txt";//
try {
FileWriter fw = new FileWriter(filePar + "\\" + filename,true);// filePar + "\\" + filename,true
// FileWriter , , ; , true
String originalLine = "aaaaaaaaaa" + "
";//
System.out.println("*** "+ originalLine);
fw.write(originalLine);
// , , od
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
とにかくFileWriterは牛です。ファイル名のファイルが存在しないなら、まず作成してから読みます。存在すれば直接に追加して書きます。キーワードtrueは追加を表します。 しかし彼は一行の読み書きしかできません。むしろクッションの読み書きの効率がいいです。
javaの多種の方式はファイルを読んで、ファイルの内容を追加して、ファイルの各種の操作に対して会います:java多種の方式はファイルを読んで、ファイルの内容を追加して、ファイルの各種の操作に対して