java对文件操作之实用
创建文件
package com.pre;
import java.io.File;
public class WJ
{
public static void main(String[] args) throws Exception
{
File file=new File("D:"+File.separator+"text2.txt");//创建路径下的文件
if(!file.getParentFile().exists())//如果父路径不存在
{
file.getParentFile().mkdirs();//创建父路径
}
if(file.exists())//如果文件存在
{
file.delete();//删除文件
}
else {
System.out.println(file.createNewFile());//否则创建文件
}
}
}
列出D盘的所有文件及目录:
package com.pre;
import java.io.File;
public class Pd
{
public static void main(String [] args)
{
File file=new File("D:"+File.separator);//创建路径
print(file);
}
public static void print(File file)//递归函数依次判断如果为目录,继续执行,如果为文件则输出
{
if(file.isDirectory())//如果file为目录
{
File rest[]=file.listFiles();//列出目录
if(rest!=null)//如果目录不为空
{
for(int i=0;i<rest.length;i++)
{
print(rest[i]);
}
System.out.println(file);
}
}
}
}
*if(rest!=null)不能删除,否则报错有空值
如果把System.out.println(file);改为file.delete();则功能会变为将D盘所有文件删除。
使用字节流操作文件的读取和写入操作:
package com.pre;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class WJ
{
public static void main(String[] args) throws Exception
{//首先创建文件的路径
File file=new File("D:"+File.separator+"text3.txt");
OutputStream output=new FileOutputStream(file,true);//然后实例化OutputStream类的对象,追加型添加数据
String str="今天早上真是个好天气\r\n";
byte data[]=str.getBytes();//将String类型转换为byte类型
output.write(data);//进行写入操作
output.close();//关闭流
InputStream input=new FileInputStream(file);//实例化InputStream类的对象
byte b[]=new byte[1024];//建立数组存储从文件中读取的数据
int aa=0;//存取每个读取的数据
int foot=0;//定义索引
while((aa=input.read())!=-1)//如果文件中的数据没有读取完(返回值不为-1)便转换为byte类型赋值给foot
{
b[foot++]=(byte)aa;
}
System.out.println("读取的内容为:【"+new String(b,0,foot)+"】");//输出读取的内容
}
}
使用字符流操作文件的写入和读取操作:
package com.pre;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
public class WJ
{
public static void main(String[] args) throws Exception
{//首先创建文件的路径
File file=new File("D:"+File.separator+"text3.txt");
//向文件写入内容
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
Writer output=new FileWriter(file,true);
String aa="今天的天气真好";
output.write(aa);
output.close();
//从文件读取内容
if(file.exists())
{
Reader input=new FileReader(file);
char bb[]=new char[1024];
int len=input.read(bb);
System.out.println("从文件中读取的内容为:【"+new String(bb,0,len)+"】");
input.close();
}
}
}
java对文件操作之实用的更多相关文章
- java常见文件操作
收集整理的java常见文件操作,方便平时使用: //1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if ( ...
- Java api 入门教程 之 JAVA的文件操作
I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...
- java中文件操作的工具类
代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...
- java csv 文件 操作类
一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...
- java中文件操作《一》
在日常的开发中我们经常会碰到对文件的操作,在java中对文件的操作都在java.io包下,这个包下的类有File.inputStream.outputStream.FileInputStream.Fi ...
- java IO文件操作简单基础入门例子,IO流其实没那么难
IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想.今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作. 1.文件拷贝 ...
- Java常用文件操作-2
上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件. 这里用到了第三方jar包 jsch-0.1.53.jar, jsch-api 1.删除服务器上指定路径 ...
- Java常用文件操作-1
在我们的实际工作中经常会用到的文件操作,再此,将工作中碰到的做一个记录,以便日后查看. 1.复制文件夹到新文件夹下 /** * 复制文件夹下所有文件到指定路径 *@param oldPath *@pa ...
- 【java】文件操作java.io.File
package 文件操作; import java.io.File; import java.io.IOException; public class TestFile { public static ...
随机推荐
- 2019-02-22 L231
Scientists at the Massachusetts Institute of Technology have said lobsters could be key to creating ...
- leetcode第11题:盛水最多的容器
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线, ...
- 如何实时查看Linux下日志
以下以Tomcat为例子,其他WEB服务器目录自己灵活修改即可: 1.先切换到:cd usr/local/tomcat5/logs2.tail -f catalina.out3.这样运行时就可以实时查 ...
- ChinaCock界面控件介绍-CCSystemBar
Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体验.而A ...
- 部署php的正确姿势
1. 更新源 apt-get update 2.安装apache apt-get install apache2 ubuntu下apache2虚拟主机配置 cd /etc/apache2/sites- ...
- 【Python】利用正则解析xml练习题
{ "date": "18-03-29 06:04:47", "data": { "deviceType": 1, &q ...
- [JetBrains注册] 利用教育邮箱注册JetBrains产品(pycharm、idea等)的方法
我们在使用JetBrains的一些产品时,大多使用网上的一些key去注册或者pojie的,但是由于提供这些key的服务器并不能保证稳定可用,所以可能一段时间我们使用的ide又需要重新pojie. 这里 ...
- 登陆网页模板 - 1 (HTML+CSS)
一个用HTML和CSS写的简单登录页面,主要是用CSS来进行修饰美化的 这个登陆界面有输入账号和密码的表单,还有登陆和注册两个按键,点击按键分别会输出“您已成功登陆,稍后会跳转到您需要的页面~”,“您 ...
- 【机器学习基础】SVM实现分类识别及参数调优(二)
前言 实现分类可以使用SVM方法,但是需要人工调参,具体过程请参考here,这个比较麻烦,小鹅不喜欢麻烦,正好看到SVM可以自动调优,甚好! 注意 1.reshape的使用: https://docs ...
- mac下python安装MySQLdb模块
参考:http://blog.csdn.net/yelyyely/article/details/41114449 1.调整到anaconda下的python 2.安装有关程序 brew instal ...