Java IO文件操作 字符流字节流

Python010

Java IO文件操作 字符流字节流,第1张

楼主在向hello.txt中传输那句话时的确将其转换成了字节,也就是二进制,但是这只是向文本传输的一种方式,写入文本后,这些二进制还是会以文字的形式展示,毕竟每个文字都是由二进制组成的呀。

望楼主理解,我也是java学习中。一起加油了。

需要先【存在】文件,才能再创建文件

当然,如果文件夹【不存在】,那么就需要先创建文件夹,再创建文件

比如 : c盘已经存在,所以才能创建C盘下的文件

1

2

File file = new File("c:\\abc.txt")

file.createNewFile()//创建文件

1

2

File file = new File("c:\\test\\abc.txt")

file.createNewFile()//创建文件

如果文件夹不存在会出现异常

1

2

Exception in thread "main" java.io.IOException: 系统找不到指定的路径。

at java.io.WinNTFileSystem.createFileExclusively

解决办法,先创建文件夹,在创建文件

1

2

3

4

5

File file = new File("c:\\test\\abc.txt")

if(!file.getParentFile().exists()){

file.getParentFile().mkdirs()//创建"c:\\test"文件夹

}

file.createNewFile()//创建c:\\test\\abc.txt文件

描述较为简略,如有疑问可追答

public static void main(String[] s){

move(new File("源文件夹"), new File("需要移动到的文件夹"))

}

/**

* 将文件(夹)移动到令一个文件夹

*/

public static void move(File resFile, File objFolderFile, boolean flag)

throws IOException {

copy(resFile, objFolderFile, flag)

delete(resFile)

}

/**

* 复制文件(夹)到一个目标文件夹

*

* @param resFile

*源文件(夹)

* @param objFolderFile

*目标文件夹

*/

public static void copy(File resFile, File objFolderFile, boolean flag)

throws IOException {

if (!resFile.exists())

return

if (!objFolderFile.exists())

objFolderFile.mkdirs()

if (resFile.isFile()) {

File objFile = new File(objFolderFile.getPath() + File.separator

+ resFile.getName())

// 复制文件到目标地

InputStream ins = new FileInputStream(resFile)

FileOutputStream outs = new FileOutputStream(objFile)

byte[] buffer = new byte[1024 * 512]

int length

while ((length = ins.read(buffer)) != -1) {

outs.write(buffer, 0, length)

}

ins.close()

outs.flush()

outs.close()

} else {

String objFolder

if (flag)

objFolder = objFolderFile.getPath()

else

objFolder = objFolderFile.getPath() + File.separator

+ resFile.getName()

File _objFolderFile = new File(objFolder)

_objFolderFile.mkdirs()

for (File sf : resFile.listFiles()) {

copy(sf, new File(objFolder), false)

}

}

}

/**

* 删除文件(夹)

*/

public static void delete(File file) {

if (file == null)

return

if (!file.exists())

return

if (file.isFile()) {

file.delete()

} else {

for (File f : file.listFiles()) {

delete(f)

}

file.delete()

}

}