java io可以读取任意格式的文件,包括txt、ini、xml等文本文件,也可读取png、MP3等各种二进制文件格式。
因为java io读取时是以字节流(btye stream)的形式,将文件存储在硬盘上的字节一个个/一段段读入的。读入后的字节流可进一步处理,比如文本的可以用显示在某个界面上,MP3可以使用JMF(java 多媒体框架)进行播放。
import java.io.BufferedInputStreamimport java.io.FileInputStream
import javazoom.jl.player.Player
public static void main(String[] args)
{
try {// 播放MP3文件流
String mp3file="神武雨霖铃"
FileInputStream fin=new FileInputStream(mp3file)// 建立文件流
BufferedInputStream buffer = new BufferedInputStream(fin)
player = new Player(buffer)
player.play()
}catch (Exception e) {
e.printStackTrace()
}
}
你好,参考一下这段代码,再自己动动手,就完成你想要的功能了:import java.io.File
import java.io.IOException
public class FileDemo11{
public static void main(String args[]){
File my = new File("d:" + File.separator) // 操作路径
print(my)
}
public static void print(File file){// 递归调用
if(file!=null){// 判断对象是否为空
if(file.isDirectory()){// 如果是目录
File f[] = file.listFiles() // 列出全部的文件
if(f!=null){// 判断此目录能否列出
for(int i=0i<f.lengthi++){
print(f[i]) // 因为给的路径有可能是目录,所以,继续判断
}
}
}else{
System.out.println(file) // 输出路径
}
}
}
}
提示:在输出后,加入删除文件的语句,就可以了。。自己动手,丰衣足食。
在java程序中存在两个路径的写法:第一:绝对路径 也就是一个完整的文件路径 就好比你之前的 d:\ABC\test
第二:相对路径 就是相对与你当前项的根路径作为起始
你把D:去掉了 那你这个路径就是一个相对路径 你的项目应该是建立在D盘的,所以文件出现在了D盘.
那为什么是以D盘的根目录开始而不是项目的根目录呢? 原因就是你在ABC前面加了一个\ 这个\表示从当前文件夹根目录开始 你若是将\去掉 那么这个ABC文件夹将会出现在你的这个项目的文件夹里面.