Linux路径中的空格需要用反斜杠“\”进行转义,例如:/home/销庆user/my\ folder/file.txt。
如果路径中包含中文或其他非ASCII字符,需要使用UTF-8编明氏码格式,例如:/home/user/文档/file.txt。
在Java程序中,使用FileOutputStream时需要使用File对象来表示文件路径,可以通过如下方式来创建File对象:
java
Copy code
File file = new File("/home/user/myfile.txt")
因此,如果要将数据写入Linux路径中的文件,可以通过如下方式来创建FileOutputStream对象:
java
Copy code
File file = new File("/home/user/myfile.txt")
FileOutputStream fos = new FileOutputStream(file)
需要注意的是,在使用FileOutputStream写入文件时,如果文件不存在,会自动创建该文件;如果文件已存在,会覆盖原有的文件内容。如果需要在文件末尾添加新的数据,可以使用FileOutputStream的另一个构造方法(带有第二个参数,表示是否在文件末尾添加数据),例如:
java
Copy code
File file = new File("/home/user/myfile.txt")
FileOutputStream fos = new FileOutputStream(file, true)// 在文件末尾添加数据
* 拷贝文件,孙漏* @param oldPath 旧文件路径
* @param newPath 新文件路径
* @throws Exception
*/
private void copyFile(String oldPath, String newPath) throws Exception{
int bytesum = 0
int byteread = 0
File oldFile = new File(oldPath)
InputStream in = null
OutputStream out = null
if(oldFile.exists()){
try {
in = new FileInputStream(oldPath)
out = new FileOutputStream(newPath)
byte[] buffer = new byte[1024*5]
while((byteread = in.read(buffer)) != -1){
bytesum += byteread
System.out.println(bytesum)
out.write(buffer, 0, byteread)
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
throw new Exception("输入myeclipse的念孙路径不正确"仔凯链)
}finally{
if(in != null)
in.close()
if(out != null)
out.close()
}
}
}
用FileOutputStream将文件(如file)陆前罩包装,用write()方法写入,参数必须是ASCII码,运行程序前保证文件存在,并将早闹其关闭,程序执行时,new的过程会自动打开文件。部分代码如下File
file
=
new
File("F:/a.txt")
try
{
FileOutputStream
fos
=
new
FileOutputStream(file)
//65,66,67分别为A,B,C的ASCII码。
fos.write(65)
fos.write(66)
fos.write(67)
fos.close()
//写完后必须关闭文件
}
catch
(IOException
e)
{
System.out.println("悔让文件 *** 作时发生异常!")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)