2016-02-26 174 views
-2

FileOutputStream does not create fileFileOutputStream中不创建文件

我跑在eclipse下面的代码,这是我从这个问题采取了完全重复。没有文件被创建。

BufferedOutputStream dob = null; 
    try { 
     File file = new File("C:\\Users\\claudio\\ccc.as"); 
     System.out.println("file created:" + file.exists()); 
     FileOutputStream fod = new FileOutputStream(file); 
     System.out.println("file created:" + file.exists()); 
     dob = new BufferedOutputStream(fod); 
     byte[] asd = {65, 22, 123}; 
     byte a1 = 87; 
     dob.write(asd); 
     dob.write(a1); 
     //dob.flush(); 
    } 
    catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
    finally { 
     if (dob != null) { 
      try { 
       dob.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 

Eclipse建议使用第二次尝试/ catch捕获.close()。我可能犯了一个明显的错误,请原谅我,如果是这样的话。

+0

你有没有在运行Eclipse调试器?我的猜测是你的程序没有访问'C:\ Users \ claudio \'的权限,并且它在Eclipse的Console选项卡中输出一个关于该程序的Exception。 – pyb

+0

适用于我 –

+0

您是否有权限写入该目录?请尝试手动创建该文件。 –

回答

-1

我想尝试this example,它使用createNewFile()来执行预期的行为。我不认为你使用的方法会自动创建一个。

文件可以使用类似以下实例化:

File file = new File("MyFile.txt"); 
file.createNewFile(); 
0

简单,

byte[] asd = {65, 22, 123}; 
FileOutputStream out = new FileOutputStream("C:\Users\claudio\ccc.as"); 
out.write(data); 
out.close(); 

,如果你使用的是Java 7+,

byte[] asd = {65, 22, 123}; 
Path file = Paths.get("C:\Users\claudio\ccc.as"); 
Files.write(file, asd); 
相关问题