[英]Java: Blank File on writing
我正在嘗試使用以下功能寫入Java中的文件:
public void writeTextFile(String filename, double s){
FileWriter output=null;
try{
output= new FileWriter(filename);
BufferedWriter writer=new BufferedWriter(output);
String ss = String.valueOf(s);
writer.write(ss);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (output != null) {
try {
output.flush();
output.close();
} catch (IOException e) {
}
}
}
}
我也嘗試使用:
FileOutputStream out;
PrintStream prt;
try{
out= new FileOutputStream("result");
prt=new PrintStream(out);
prt.println(value);
prt.flush();
prt.close();
}
catch(Exception e){
System.out.println("File write error");}
但是兩種方法最終都得到一個空白的輸出文件。 需要幫忙!!:(
這會起作用,
public void writeTextFile(String filename, double s){
FileWriter output=null;
try{
output= new FileWriter(filename);
BufferedWriter writer=new BufferedWriter(output);
String ss = String.valueOf(s);
writer.append(ss);
writer.close();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (output != null) {
try {
output.flush();
output.close();
} catch (IOException e) {
}
}
}
}
嘿,這很簡單,錯誤是您沒有刷新bufferedwriter,請先刷新然后關閉流。
將此添加到您的第一個代碼
public static void writeTextFile(String filename, double s){
FileWriter output=null;
try{
output= new FileWriter(filename);
BufferedWriter writer=new BufferedWriter(output);
String ss = String.valueOf(s);
System.out.println("ss:"+ss);
writer.write(ss);
writer.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (output != null) {
try {
output.flush();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
嘗試這個
使用此鏈接: 文件編寫教程
來自鏈接的代碼:
public static void main(String[] args) {
try {
String content = "This is the content to write into file";
File file = new File("/users/mkyong/filename.txt");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
}
}
如果嘗試:
File file = new File("c:/newfile.txt");
String content = "This is the text content";
try (FileOutputStream fop = new FileOutputStream(file)) {
// if file doesn't exists, then create it
if (!file.exists()) {
file.createNewFile();
}
// get the content in bytes
byte[] contentInBytes = content.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
}
基於本教程: http : //www.mkyong.com/java/how-to-write-to-file-in-java-fileoutputstream-example/
您必須刷新並關閉BufferedWriter而不是FileWriter。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.