java中对IO文件的操作(读,写,增加一行,删除一行,删除文件)

JAVA:文件IO操作 此处谈到的文件本身有多种含义.狭义的文件:特指硬盘上的文件(以及保存文件的目录).,在操作系统中,都会被视为是在一个电脑上,有很多文件都是需要依靠操作系统,进行组织管理的.这一串目录结构,就描述了文件所在的位置,构成了完整的路径中,就约定使用分隔符,分隔目录和目录:绝大部分系统使用来作为目录分隔符,只有windows既能使用"/"也能使用"\"."/"在编程的时候好处理,"\"在字符串里,必须通过转义字符"\\"来表示; 阅读详情

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;


public class testFile {


  public static void main(String[] args) {

   //调用方法(对文件的操作)
   operateFile("F:/test/test1/test.txt");
   // System.out.println(time);
  }
  public static void operateFile(String strPath) {
  try {
   File file = new File(strPath);
   //判断文件是否存在
   if (file.exists()) {
    System.out.println("exit " + file.getPath());
   } else {
    System.out.println("不存在");
   }

   //判断是否为目录
   if (file.isDirectory()) {
    System.out.println("首次判断,该文件是目录且存在!" + file.getPath());
    File[] fileList = file.listFiles();
    for (int i = 0; i < fileList.length; i++) {
     if (fileList[i].isDirectory()) {
      System.out.println("子目录名:" + fileList[i].getName());
      System.out.print("子目录" + i + ":");
      operateFile(fileList[i].getPath());
     } /*else if (fileList[i].isFile()) {
      System.out.println("目录下该文件是文件且存在!" + file.getName());
     } else {
      // 不存在,创建文件
      //FileOutputStream fos = new FileOutputStream(strPath,true);
      // System.out.println("文件创建成功!");
      //System.out.println("全路径:"+file.getAbsolutePath());
      //System.out.println("文件不存在:"+fileList[i].getName());
     }*/

    }

    //判断是否为文件
   } else if (file.isFile()) {
    System.out.println("首次判断,该文件是文件且存在!" + file.getName());
    //追加文件内容,每次追加一条,
    /*BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsolutePath(),true));
    bw.write("序号1|姓名|金额|备注1|备注2|");
    bw.newLine();
    bw.flush();
    bw.close();
    System.out.println("追加内容成功");*/
    
    //读文件内容
    /*int num = 0;
    BufferedReader br = new BufferedReader(new FileReader(file.getAbsolutePath()));
    String str = null;
    while( (str=br.readLine()) != null ){
     System.out.println(str);
     num++;
    }
    System.out.println("读取文件总行数:"+num);*/
    
    //修改文件内容(可以先删除,在增加)
    
    //删除一行内容(java本身没有删除的方法,本方法通过先读取文件的内容(需删除的行数除外),放到list中,在重新写入)
    /*int line = 2;
    int num = 0;
    BufferedReader br = new BufferedReader(new FileReader(file.getAbsolutePath()));
    String str = null;
    List list = new ArrayList();
    while( (str=br.readLine()) != null ){
     ++num;
     System.out.println(num+"行:"+str);
     if( num == line )
      continue;
     list.add(str);
    }
    System.out.println("list size:"+list.size());
    BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsolutePath()));
    for( int i=0;i<list.size();i++ ){
     System.out.println("list["+i+"]"+list.get(i));
     bw.write(list.get(i).toString());
     bw.newLine();
    }
    bw.flush();
    bw.close();
    System.out.println("删除成功");*/
    
    //删除文件
     //file.delete();
     //System.out.println("文件删除成功!");
   } else {
    //当文件不存在时,新建
    System.out.println("该文件不存在");
    String name = file.getName();
    System.out.println("name:" + name);
    if (name.trim().toLowerCase().endsWith(".txt")) {
     System.out.println(".txt文件");
     // 不存在,创建文件 (先创建目录, file.mkdirs();)
     //System.out.println("父路径:"+file.getParent());
     //按照父路径 创建目录,然后在该目录下创建文件
     File file1 = new File(file.getParent());
     file1.mkdirs();
     //System.out.println("根据父目录创建目录成功!");
     //创建文件
     FileOutputStream fos = new FileOutputStream(strPath,
       true);
     System.out.println("文件创建成功!");
    }else{
     System.out.println("非.txt文件");
     //创建多级目录(根据参数的路径格式)
     file.mkdirs();
    }
    
   }
  }catch(FileNotFoundException e) {
   System.out.println("找不到指定文件");
   System.exit(-1);
  }catch (Exception e1) {
   System.out.println("error:" + e1);
  }
 }

}

java 删除某行和读写txt文件 java 删除某行和读写txt文件 java中貌似没有直接删除某行的方法,这里用的方法是把文件里的内容读出来,写入一个String里,(不要的那行找到,不要写入String),然后再重新写入文件 立即下载

相关推荐

JAVA实现文件操作(删除,创建,写入,读取)

JAVA文件操作,J2SE代码.JAVA文件操作

javaIO流中对文件某一行内容进行修改或删除

在读取的过程中可以对读取出的内容进行判断,如果是自己要修改或删除的内容便修改之后再追加到缓冲区内。修改和删除其实是没什么差别的,修改就是用实体内容替代原有内容,而修改则是用空字符代替进去。在使用完BufferedWriter的追加之后,没有将原文件清空,导致自己对文件修改之后文件中会同时出现修改前和修改后的内容。还有追加时记得在每一行后添加换行符,这样才能是修改后的内容有多行,否则就连在一起了哦。这里使用private的原因是这里位于我自己写的类中,是为了保护它不会被外界改变。我这里修改的原理其实很简单。

平哥的博客 3690

【零基础教程】HEC-RAS 1D/2D全流程模拟指南|从水动力到水质建模一次搞定!

HEC-RAS由美国陆军工程兵团水文研究中心研制,具有完整的一二维耦合的水动力及水环境模拟功能,也具有闸、涵洞、桥梁以及泵站等水利构筑物的模拟能力;同时也可以与HEC研制的水文模型(HMS)、洪水淹没风险和损失分析软件(FDA)等耦合,是免费软件中使用最方便、应用最广泛的软件之一。2.HEC-RAS与HEC-HMS的耦合(不详细讲HEC-HMS)3.淹没风险分析软件HEC-FDA与HEC-RAS耦合。案例十八:HEC-RAS与HEC-HMS的耦合。案例十九:HEC-RAS与HEC-FDA的耦合。

weixin_48230888的博客 873

Java读取记事本里面的一行然后删除这一行

//读取一行记录然后删除 public class GetSuiJiShu { public static String getSuiJiShu(String wlbm){  String sjs=null; try {     File file=new File("c:\\txm");//创建C:/txm文件夹 if(!file.exists()){ file.mkd

xu_201205的专栏 1万+

Ollama-OCR实战:5分钟搞定PDF文档转Markdown(附qwen2.5vl模型配置)

本文详细介绍了如何利用Ollama本地部署多模态大模型qwen2.5vl,结合OCR技术,实现PDF文档到Markdown的端到端智能转换。通过解析传统OCR的局限与AI方案的优势,并提供从环境搭建、提示词工程到处理复杂表格的完整实战指南,帮助用户高效构建自动化文档处理流水线,彻底重塑文档处理工作流。

yog99的博客 606

Synopsys安装教程Ubuntu22.04版本

在Ubuntu22版本上安装Synopsys等系列工具,安装DC,VCS等等

qq_59529218的博客 5729

java读取一行删除一行_java中对IO文件的操作(读,写,增加一行,删除一行,删除文件...

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter...

weixin_35794316的博客 1784

中文实体关系抽取数据集大盘点:从百度Duie2.0到医疗CBLUE,哪个更适合你的NLP项目?

本文全面分析了中文实体关系抽取领域的主流数据集,包括百度DuIE 2.0、医疗CBLUE等,帮助开发者根据项目需求选择最适合的数据集。文章详细对比了各数据集的特点、适用场景及优化策略,为自然语言处理项目提供实用指南。

weixin_29284657的博客 122

(转)java中对IO文件的操作(读,写,增加一行,删除一行,删除文件)

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter

Trace_2011的专栏 1万+

Jetson Orin NX系统克隆术:如何快速备份与还原你的开发环境(附完整命令行)

本文详细介绍了Jetson Orin NX系统克隆的完整流程,这是一种超越简单备份的完整镜像方案。通过命令行操作,可实现开发环境(包括引导程序、内核、根文件系统及所有配置)的快速备份与还原,确保批量部署时环境的完全一致性与高效性,尤其适合机器人、边缘AI等项目的团队协作。

weixin_29191081的博客 158

2023年全国职业院校技能大赛 网络系统管理服务模块 Linux部分讲解

网络系统管理,Linux,服务部署,Chinaskills,2023国赛

weixin_62926639的博客 1549

java+文件操作+一行数据_(转)java中对IO文件的操作(读,写,增加一行,删除一行,删除文件)...

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter...

weixin_28807463的博客 146

innovus:addRepeaterByRule用法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?addRepeaterByRule不管transition/timing violation,只根据约束的length/cap/fanout等等去给net 插buffer。

m0_61544122的博客 1092

Java文件IO操作及案例

详细介绍常用的文件IO操作, 即针对文件系统的操作和文件内容的读写, 介绍一些IO操作的代码案例.

trong_ 的烂笔头 4432

YOLOv13改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)

本文记录的是改进YOLOv13的损失函数,将其替换成。现有研究通过利用边界框之间的几何关系来提高回归性能,但忽略了困难样本和简单样本分布对边界框回归的影响。不同检测任务中困难样本和简单样本的分布不同,对于简单样本占主导的检测任务,关注简单样本的边界框回归有助于提高检测性能;对于困难样本比例较高的检测任务,需要关注困难样本的边界框回归。,提高检测器在不同检测任务中的性能。实现的。

Limiiiing的博客 870

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【JavaSE】【IO】文件操作

Java对文件的读写操作,自定义读写操作优化算法题输入输出

yj20040627的博客 2699

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

io流实现对.txt文件的增删改查操作(文件中某一行内容的增加删除修改)

io流实现对.txt文件中某一行内容进行增加删除修改,对文件全部内容进行查询操作。

@南初的博客 1503

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java读取一行删除一行_Java读取文件操作、实现读一行删一行

由于Java中没有提供同时操作一个文件的功能、所以采取读出一条后、将剩余的存放到list集合中、然后遍历list集合写回到文件中的方式、具体代码如下import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io....

weixin_39628380的博客 1647

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

和输出流一样,在读取文件内容的程序中我们也做了字节流到字符流的转换,先用 FileInputStream 把文件绑定到了字节流上,然后通过 InputStreamReader 把字节流转换为字符流,在这个过程中也是设置了字符编码,最后又用 BufferedReader 为字符流增加缓冲功能,这样读取的效率会更高一些,通过它程序可以一次读取文件的一整行。内容支持多行输入,直到遇到空行,程序会认为输入完毕,然后 Java 用用户指定的名字在项目目录下创建一个文件,最后把程序读取到的所有内容输入,写到文件里去。

z1ztai的博客 1143

Java文件读取 删除指定一行

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; imp

ChristinaXinny的博客 5614

Java IO操作-按行读取txt文本文件

Java IO操作-按行读取txt文本文件 文章目录Java IO操作-按行读取txt文本文件0.前言1.将txt文本文件按照UTF-8格式存储2.按行读取代码实现3.运行效果4.字符串提取单词txt百度网盘下载(无提取码) 0.前言 同学安卓课设想做一个仿百词斩的低配版记单词APP,但是没有找到开放的单词数据接口,于是有了本文: 当然本文只是使用Java的I/O操作读取网上一个单词txt文件,后...

小蜉蝣星蔚的博客 6584

Java读取文件操作、实现读一行删一行

由于Java中没有提供同时操作一个文件的功能、所以采取读出一条后、将剩余的存放到list集合中、然后遍历list集合写回到文件中的方式、具体代码如下 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; impor...

QiaoTong优快云的博客 1万+

【JavaEE】IO 操作

什么是IO,字符流读Reader、字符流写Writer、字节流输入InputStream、字节流输出OutputStream,运用IO操作实现删除指定文件、复制指定文件、查找某一文件中的指定内容等功能

不能再留遗憾了的博客 539
下一篇: (转)livecd 修复Grub
trace-
博客等级 码龄14年 3粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值