更新时间:2020-07-09 15:01:28 来源:极悦 浏览1671次
1、最高效读写文件
public class Test {
/**
* 最高效的读写文件
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//创建文件和文件夹
String filePath="d:\\gm\\gtm\\ss.txt";
File file=new File(filePath);
File parentFile=file.getParentFile();
if(!parentFile.exists()){
System.out.println("文件夹不存在");
parentFile.mkdirs();
}else{
System.out.println("文件夹存在");
deleteFolder(file);
parentFile.mkdirs();
System.out.println("创建文件夹成功");
}
try {
file.createNewFile();
System.out.println("创建文件成功");
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(path),"utf-8"),1024);
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath),"utf-8"),1024);
String line=null;
while((line=bufferedReader.readLine())!=null){
bufferedWriter.write(line);
bufferedWriter.newLine();
bufferedWriter.flush();
}
bufferedWriter.close();
bufferedReader.close();
}
public static void deleteFolder(File folder){
File[] file=folder.listFiles();
if(file !=null){
for(File f:file){
if(f.isDirectory()){
deleteFolder(f);
}else{
f.delete();
}
}
}
folder.delete();
System.out.println("删除成功");
}
2、最高效读写媒体文件
public class Test {
/**
* 最高效率读写媒体文件,只能使用buffered字节流,因为使用字符流的话,读取的时候还是先独到字节,再根据unicode码表去找对应的字符,
* 找不到的就会随便用一个字符代替,这样就会乱码
*/
public static void main(String[] args) {
String picPath="D:"+File.separator+"Pictures"+File.separator+"个人照片"+File.separator+"DSCF4505A.jpg";
String newPath="D:"+File.separator+"gm"+File.separator+"gtm"+File.separator+"123.jpg";
BufferedInputStream bufferedInputStream = null;
BufferedOutputStream bufferedOutputStream = null;
try {
bufferedInputStream=new BufferedInputStream(new FileInputStream(picPath));
bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(newPath));
int len=0;
// byte[] b=new byte[1024]; 不需要使用,因为缓冲流自带缓冲区,也就是这个字节数组
try {
while((len=bufferedInputStream.read())!=-1){
bufferedOutputStream.write(len);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
if(bufferedOutputStream!=null){
try {
bufferedOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(bufferedInputStream!=null){
try{
bufferedInputStream.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
以上就是极悦java培训机构的小编针对“Java编程基础分享,Io编程练习题”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习