java读写文件操作大全

Java文件操作指南:路径、创建、读写与高级特性 简介:Java的JAVAIO库是处理文件输入输出的核心系统,适用于多种数据源。本文将深入探讨如何使用Java进行文件创建、内容读取、文件写入、管理等操作。包括但不限于创建和管理文件与目录、读写文件内容、执行文件操作如删除和重命名、获取文件信息、遍历目录、处理数学问题、确保资源正确关闭,以及使用NIO和Java 7及以上版本的新特性。这些操作对于Java开发者来说是基本而重要的技能。 阅读详情

一.获得控制台用户输入的信息

public String getInputMessage() throws IOException...{
System.out.println("请输入您的命令∶");
byte buffer[]=new byte[1024];
int count=System.in.read(buffer);
char[] ch=new char[count-2];//最后两位为结束符,删去不要
for(int i=0;i<count-2;i++)
ch[i]=(char)buffer[i];
String str=new String(ch);
return str;
}
可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。

二.复制文件
1.以文件流的方式复制文件

public void copyFile(String src,String dest) throws IOException...{
FileInputStream in=new FileInputStream(src);
File file=new File(dest);
if(!file.exists())
file.createNewFile();
FileOutputStream out=new FileOutputStream(file);
int c;
byte buffer[]=new byte[1024];
while((c=in.read(buffer))!=-1)...{
for(int i=0;i<c;i++)
out.write(buffer[i]);
}
in.close();
out.close();
}
该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式

三.写文件

1.利用PrintStream写文件


public void PrintStreamDemo()...{
try ...{
FileOutputStream out=new FileOutputStream("D:/test.txt");
PrintStream p=new PrintStream(out);
for(int i=0;i<10;i++)
p.println("This is "+i+" line");
} catch (FileNotFoundException e) ...{
e.printStackTrace();
}
}
2.利用StringBuffer写文件
public void StringBufferDemo() throws IOException......{
File file=new File("/root/sms.log");
if(!file.exists())
file.createNewFile();
FileOutputStream out=new FileOutputStream(file,true);
for(int i=0;i<10000;i++)......{
StringBuffer sb=new StringBuffer();
sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 ");
out.write(sb.toString().getBytes("utf-8"));
}
out.close();
}
该方法可以设定使用何种编码,有效解决中文问题。
四.文件重命名

public void renameFile(String path,String oldname,String newname)...{
if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名
File oldfile=new File(path+"/"+oldname);
File newfile=new File(path+"/"+newname);
if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名
System.out.println(newname+"已经存在!");
else...{
oldfile.renameTo(newfile);
}
}         
    
五.转移文件目录
转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。

public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{
if(!oldpath.equals(newpath))...{
File oldfile=new File(oldpath+"/"+filename);
File newfile=new File(newpath+"/"+filename);
if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件
if(cover)//覆盖
oldfile.renameTo(newfile);
else
System.out.println("在新目录下已经存在:"+filename);
}
else...{
oldfile.renameTo(newfile);
}
}
}
六.读文件
1.利用FileInputStream读取文件


public String FileInputStreamDemo(String path) throws IOException...{
File file=new File(path);
if(!file.exists()||file.isDirectory())
throw new FileNotFoundException();
FileInputStream fis=new FileInputStream(file);
byte[] buf = new byte[1024];
StringBuffer sb=new StringBuffer();
while((fis.read(buf))!=-1)...{
sb.append(new String(buf));
buf=new byte[1024];//重新生成,避免和上次读取的数据重复
}
return sb.toString();
}
2.利用BufferedReader读取

在IO操作,利用BufferedReader和BufferedWriter效率会更高一点



public String BufferedReaderDemo(String path) throws IOException...{
File file=new File(path);
if(!file.exists()||file.isDirectory())
throw new FileNotFoundException();
BufferedReader br=new BufferedReader(new FileReader(file));
String temp=null;
StringBuffer sb=new StringBuffer();
temp=br.readLine();
while(temp!=null)...{
sb.append(temp+" ");
temp=br.readLine();
}
return sb.toString();
}


3.利用dom4j读取xml文件


public Document readXml(String path) throws DocumentException, IOException...{
File file=new File(path);
BufferedReader bufferedreader = new BufferedReader(new FileReader(file));
SAXReader saxreader = new SAXReader();
Document document = (Document)saxreader.read(bufferedreader);
bufferedreader.close();
return document;
}
七.创建文件(文件夹)


1.创建文件夹
public void createDir(String path)...{
File dir=new File(path);
if(!dir.exists())
dir.mkdir();
}
2.创建新文件
public void createFile(String path,String filename) throws IOException...{
File file=new File(path+"/"+filename);
if(!file.exists())
file.createNewFile();
}
八.删除文件(目录)
1.删除文件
public void delFile(String path,String filename)...{
File file=new File(path+"/"+filename);
if(file.exists()&&file.isFile())
file.delete();
}
2.删除目录
要利用File类的delete()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件,然后再删除该目录。
public void delDir(String path)...{
File dir=new File(path);
if(dir.exists())...{
File[] tmp=dir.listFiles();
for(int i=0;i<tmp.length;i++)...{
if(tmp[i].isDirectory())...{
delDir(path+"/"+tmp[i].getName());
}
else...{
tmp[i].delete();
}
}
dir.delete();
}
}

MATLAB功率谱函数psd与pwelch的使用 在网上看到 clear; Fs=1000; n=0:1/Fs:1; y=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); Nfft=1000; window=hanning(100); noverlap=20; dflag='none'; [Pxx,f]=psd(y,Nfft,Fs,window,noverlap); figure plot(f,10*log10(Pxx)); xlabel('frequency/Hz');ylab 阅读详情

相关推荐

编译原理实验二:LL(1)分析法(附C/C++完整代码)

本文讲述了LL(1)文法的原理及如何用C语言实现。并在给出的代码中实现了消除文法的左递归,First集,Follow集,select集的输出,构造预测分析表并输出,和对任意输入字符串的分析。程序总流程为:从文件读取文法 -> 输出文法信息 -> 消除左递归并输出消除后的文法 -> 计算First集并输出 -> 计算Follow集并输出 ->计算select集并输出 -> 判断是否是LL(1)文法 -> 构造预测分析表并输出 ->手动输入要分析的字符串 -> 输出分析过程和结果读取文件。

W_Wmwmwm的博客 6192

Java文件读写(一)基础文件读写的详细操作

类:Spring框架提供的一个用于处理HTTP multipart请求的接口,提供了获取文件输入流的方法,可以直接操作文件的字节流,支持流式处理,适合处理大文件,但是需要依赖Spring框架。类:用于随机访问文件的类,支持对文件的任意位置进行读取和写入操作,可以提高读写效率。是面向字符的,它们会对读取的字节进行编码和解码,可能会导致读取出来的数据不正确。类:一般用它来表示一个文件或目录,文件操作方面只能创建文件、修改文件的属性。,它支持以字节为单位的随机访问,可以在文件中定位、读取或写入任意位置的数据。

weixin_63020134的博客 3453

K-近邻算法: k-nearest neighbor classification (kNN) 详细介绍

@创建于:2020.04.09 @修改于:2020.04.09,2024.06.22 文章目录1、kNN介绍2、k近邻法的三要素详解2.1 距离度量2.2 k值的选择2.3 分类决策规则3、k近邻法的实现:kd树4、Python实现过程5、优缺点6、常见问题 1、kNN介绍 kNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于新样本的类别由与新样本距离最近的k个训练样本点按照分类...

chenhepg的博客 9万+

java文件读写操作大全

一.获得控制台用户输入的信息      public String getInputMessage() throws IOException...{          System.out.println("请输入您的命令∶");          byte buffe

软件工程 plus 人工智能 822

pandas,构造MultiIndex的四种方法:from_tuples、from_arrays、from_product、from_frame

1、from_tuples:通过 “元组对” 构造MultiIndex """ 一对元组,为一个索引 """ tuples = [(1, 'red'), (1, 'blue'), (2, 'red'), (2, 'blue')] pd.MultiIndex.from_tuples(tuples, names=('number', 'color')) 2、from_arrays:通过 “列表元素的组合” 构造MultiIndex """ 列中表的元素,按位置 对应组合,形成索引 """ arrays

jieru_liu的博客 5387

Origin绘制带差异显著性标记的分组均值条形图|科研论文图表教程(附数据格式模板)

传统柱状图虽能呈现组间均值差异,却隐藏个体数据分布;散点图虽能展示原始数据,却难以直观凸显统计显著性。带差异显著性(*)的分组均值条形图——它以“双层叙事”的创新设计,同时呈现群体特征与个体差异。

weixin_50236590的博客 1493

JAVA三种文件读写操作,四种文件拷贝操作

2.字节流的基本流:一次读写一个字节数组。4.字节缓冲流:一次读写一个字节数组。3.字节缓冲流:一次读写一个字节。四种拷贝方式概述:1.字节流的基本流:一次读写一个字节。这里我们以一次读取10个字节为例。

m0_71119554的博客 3322

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-单端信号-并联端接

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的单端拓扑并且进行并联端接,以下图为例,准备好发送接收端的IBIS模型, (se_example.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(W1_welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 374

Java 中如何实现文件的读写操作?(十六)

在上面的代码中,我们首先创建了一个File对象,然后使用FileInputStream来读取该文件中的内容。在上面的代码中,我们首先创建了一个File对象,然后使用FileReader将文件转换为字符流,并使用BufferedReader对其进行包装。在上面的代码中,我们首先创建了一个File对象,然后使用FileOutputStream来写入该文件中的内容。在上面的代码中,我们首先创建了一个File对象,然后使用FileWriter将文件转换为字符流,并使用PrintWriter对其进行包装。

Dakaring的专栏 2264

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(五)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)

qq_42135020的博客 2083

深度学习注意力机制新突破:YOLOv8结合SimAM无参数注意力模块,让目标检测更精准!

在计算机视觉领域,注意力机制已成为提升模型性能的关键技术。然而,传统的注意力模块如SENet、CBAM等往往引入大量额外参数,增加了模型的复杂度和计算负担。本文介绍一种创新的无参数注意力机制——SimAM(Simple Parameter-Free Attention Module),并将其成功应用于YOLOv8目标检测框架。SimAM基于神经科学理论,通过定义能量函数为特征图计算3D注意力权重,无需任何额外参数即可显著提升模型性能。本文详细阐述了SimAM的理论基础、实现原理,并提供了完整的YOLOv8集

YOLO 99

Java的文件读写操作

那么,如果没有getParentFile(),直接执行a.mkdirs(),就是说,创建“1/2/AAAA.txt”代表的文件夹,也就是“1/2/AAAA.txt/”,在此之后,执行a.createNewFile(),试图创建a文件,然而以a为名的文件夹已经存在了,所以createNewFile()实际是执行失败的。seek函数使用在各函数中,调用非常频繁,上面加重的这行语句根据pos和bufsize确定buf[]对应当前文件的映射位置,用”*”、”/”确定,显然不是一个好方法。

2301_78008478的博客 7300

雷达参数的设置

采样率又可以叫做采样速率或者,顾名思义就是每秒采集的次数。该值越高,单位时间内对信号的采集越多,采样率的单位可以用Hz或者sps表示(sps是采样率,是每秒采样点的数量,sp表示采样点数),一般1sps=1Hz。采样时间是采样点数和采样周期的乘积得到的结果。假设实际采样率为4560ksps,采样点数为256,那么采样周期为1/4560(ms),那么ADC的采样时间就为256*(1/4560)(ms)=0.056ms=56微秒。

qq_50974341的博客 1912

java文件操作读写大全

一.获得控制台用户输入的信息      public String getInputMessage() throws IOException...{          System.out.println("请输入您的命令∶");          byte buffer[]=new byte[1024];          int count=System.in.read(buffe

BuXingDeYouShou的专栏 391

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java文件操作大全_java读写文件操作

[java]代码库package test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.util.regex.Matcher;i...

weixin_36023930的博客 86

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java文件操作源码大全

Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 910.读取文件属性 911.写入属性 1012.枚举一个文件夹中的所有文件 1013.复制文件夹 1114.复制一个目录下所有的文件夹到另一个文件夹下 1215.移动文件夹 1316.移动一个目录下...

weixin_34268843的博客 217

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java IO流:文件操作与数据读写全攻略

Java IO流核心概念与应用 本文介绍了Java IO流的核心概念和典型应用。IO流是编程中处理输入输出的关键机制,主要分为字节流(InputStream/OutputStream)和字符流(Reader/Writer)两大体系。文章详细讲解了FileInputStream和FileOutputStream的使用方法,包括单字节读取、缓冲区读取、文件写入等操作,并提供了文件复制的示例代码。IO流广泛应用于文件操作、网络通信、内存数据处理和设备交互等场景。

2402_88461821的博客 1788

【Java 编程】文件操作,文件内容的读写—数据流

一、认识文件 1、什么是文件 平时说的文件一般都是指存储在硬盘上的普通文件 形如 txt, jpg, mp4, rar 等这些文件都可以认为是普通文件,它们都是在硬盘上存储的 在计算机中,文件可能是一个广义的概念,就不只是包含普通文件,还可以包含目录 (把目录称为目录文件) 操作系统中,还会使用文件来描述一些其他的硬件设备或者软件资源 网卡,操作系统中就把网卡这样的硬件设备也给抽象成了一个文件 => 简化开发 显示器/键盘操作系统也是把这些设备视为文件 这里我们讨论的文件,主要还是针对普通文件

1226 8174

Java文件操作大全

Java文件操作大全   1.创建文件夹 //import java.io.*; File myFolderPath = new File(%%1); try { if (!myFolderPath.exists()) {    myFolderPath.mkdir(); } } catch (Exception e) { System.out.println("新建目录操作出错"); e.pri

l刘七的专栏 1331

用 Java 的 IO 流进行读写文件操作

在计算机领域里 IO,有时也写作I/O,是的缩写,也就是输入和输出。这里的输入和输出是指不同系统之间的数据输入和输出,比如读写文件数据,读写网络数据等等。本文内容大纲如下:同步阻塞 IO 即 BIO(blocking IO),指的主要是传统的 java.io 包,它基于流模型实现。java.io 包提供了我们最熟知的一些 IO 功能,比如 File 对象提供的文件和目录操作,还有一大块就是通过输入输出流读写文件等。

Huangjiazhen711的博客 5615

JAVA 文件操作

平常经常使用JAVA对文件进行读写等操作,这里汇总一下常用的文件操作。 1、创建文件 public static boolean createFile(String filePath){ boolean result = false; File file = new File(filePath); if(!file.exists()){ try { res

brushli的专栏 1万+

java中文件操作大全

java中文件操作大全         本文为本人在工作学习中的总结,每个方法都经过测试,记在博客上一方面是为了自己日后工作方便,另一方面是为了给大家提供方便,节约时间。 一.获得控制台用户输入的信息/** *//**获得控制台用户输入的信息     * @return     * @throws IOException     */    public String getInputMe

zenith_hu的专栏 382

Java - IO流 - 详细文件操作

Java 中的文件操作是通过 I/O 流来实现的。I/O 流分为两大类:输入流和输出流。每一类又分为字节流和字符流。Java 提供了丰富的 I/O API 来处理各种文件操作,包括字节流和字符流的读写、文件递归查找、文件的创建、删除、复制和移动等操作。通过灵活运用这些工具,可以方便地处理文件相关的任务。希望本文能帮助你更好地理解 Java 中的文件操作。如果你有任何问题或需要进一步了解某个操作,可以随时提问!

DeL的博客 3664

Java中的文件操作(读写、创建、删除)

Java中的文件操作(读写、创建和删除) 判断一个文件是否存在我们可以调用File类中的exists( ),如果文件存在则会返回true,否则返回false,用法如下: public static void main(String[]args){ String path="文件所在路径"; File file=new File(path); //判断文件是否存在 if(!fi...

muzi木子 902

java文件操作大全_Java文件操作大全

//1.创建文件夹//import java.io.*;File myFolderPath = new File(str1);try {if (!myFolderPath.exists()) {myFolderPath.mkdir();}}catch (Exception e) {System.out.println("新建目录操作出错");e.printStackTrace();}//2.创建文...

weixin_29528865的博客 161

文件操作及读写-爪哇版

文件操作方法;字节、字符输入输出流

2301_80103650的博客 924
上一篇: 使用jxl.jar操作Excel之使用createSheet(String,int)要注意的地方
下一篇: 使用jqGrid表格插件不能翻页之解决问题的方法
热血大婶
博客等级 码龄16年 58粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值