精华内容
下载资源
问答
  • Java读取文件内容和写入内容到文件

    万次阅读 多人点赞 2017-10-10 11:12:36
    Java读取文件内容方法和写入内容到文件方法

    Java读取文件内容方法和写入内容到文件方法

    /**
    	 * One.txt中的数据如下:
    	 * 1
    	 * 2
    	 * 3
    	 * 4
    	 * 5
    	 * -----------------
    	 * 读操作方法
    	 */
    	@Test
    	public void readFileToList2() {
    		File file = new File("C:\\Users\\Desktop\\One.txt");
    		System.out.println("文件绝对路径 :"+file.getAbsolutePath());
    		List<String> listStr = new ArrayList<String>();
    		BufferedReader br = null;
    		String str = null;
    		try {
    			br = new BufferedReader(new FileReader(file));
    			while ((str = br.readLine())!= null) {
    				listStr.add(str);
    			}
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}catch (IOException e) {
    			e.printStackTrace();
    		}
    		System.out.println(listStr);
    		writeListToFile(listStr);// 调用写操作方法
    	}
    
    	/**
    	 * 实现写操作方法
    	 */
    	private void writeListToFile(List<String> listStr) {
    		File file = new File("C:\\Users\\Desktop\\Azzan.txt");// 要写入的文件路径
    		if (!file.exists()) {// 判断文件是否存在
    			try {
    				file.createNewFile();// 如果文件不存在创建文件
    				System.out.println("文件"+file.getName()+"不存在已为您创建!");
    			} catch (IOException e) {
    				System.out.println("创建文件异常!");
    				e.printStackTrace();
    			}
    		} else {
    			System.out.println("文件"+file.getName()+"已存在!");
    		}
    		
    		for (String str : listStr) {// 遍历listStr集合
    			FileOutputStream fos = null;
    			PrintStream ps = null;
    			try {
    				fos = new FileOutputStream(file,true);// 文件输出流	追加
    				ps = new PrintStream(fos);
    			} catch (FileNotFoundException e) {
    				e.printStackTrace();
    			}
    			String string  = str + "\r\n";// +换行
    			ps.print(string); // 执行写操作
    			ps.close();	// 关闭流
    			
    		}
    		
    		System.out.println("文件写入完毕!");
    	}

    展开全文
  • java读取ftp文件,并获取文件内容

    千次阅读 2019-07-03 10:55:45
    以下介绍的是在ftp上获取csv文件(类似excel文件)上的信息,并且打印出来,具体的操作会在代码的注释中说明 创建接口 import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.net....

    以下介绍的是在ftp上获取csv文件(类似excel文件)上的信息,并且打印出来,具体的操作会在代码的注释中说明
    创建接口

    import java.io.InputStream;
    import java.util.ArrayList;
     
    import org.apache.commons.net.ftp.FTPClient;
     
    /**
     * 
     * 接口定义
     * 
     *
     */
    public interface FtpInterface {
        
        public FTPClient ftp(String ip,String user,String password);
        
        public ArrayList<String[]> csv(InputStream in);
     
    }

    接口实现

    import java.io.IOException;
    import java.io.InputStream;
    import java.net.SocketException;
    import java.nio.charset.Charset;
    import java.util.ArrayList;
     
    import org.apache.commons.net.ftp.FTPClient;
     
    import com.csvreader.CsvReader;
     
    public class Ftp implements FtpInterface {
     
        /**
         * 
         * <b>登陆ftp 返回ftpClient事件<b>
         * 
         * @param ip
         *            ftp所在ip
         * @param user
         *            登陆名
         * @param password
         *            密码
         */
        public FTPClient ftp(String ip, String user, String password) {
     
            FTPClient ftpClient = new FTPClient();
            try {
                ftpClient.connect(ip);
                ftpClient.login(user, password);
            } catch (SocketException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
     
            if (!ftpClient.isConnected()) {
                ftpClient = null;
            }
     
            return ftpClient;
        }
     
        /**
         * <b>将一个IO流解析,转化数组形式的集合<b>
         * 
         * @param in 文件inputStream流
         */
        public ArrayList<String[]> csv(InputStream in) {
            ArrayList<String[]> csvList = new ArrayList<String[]>();
            if (null != in) {
                CsvReader reader = new CsvReader(in, ',', Charset.forName("UTF-8"));
                try {
                    //遍历每一行,若有#注释部分,则不处理,若没有,则加入csvList
                    while (reader.readRecord()) {
                        if (!reader.getValues()[0].contains("#"))// 清除注释部分
                        {
                            //获取的为每一行的信息,以数组的形式
                            csvList.add(reader.getValues());
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
     
                reader.close();
            }
            return csvList;
        }
    }

    main函数执行获取

    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
     
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPFile;
     
    public class GetFtpData {
     
        public GetFtpData() {
        }
     
        public static void main(String[] args) {
     
            // 创建接口服务
            FtpInterface ftpInterface = new Ftp();
     
            // 登录ftp,获取事件
            FTPClient ftp1 = ftpInterface.ftp("ftp上的ip地址", "用户名", "密码");//这里是ip,用户名,密码
     
            if (null != ftp1) {
                try {
     
                    // 更改当前工作目录,zgg为文件所在的目录
                     ftp1.changeWorkingDirectory("zgg");
     
                    // 从ftp上获取ggw目录下的文件
                    FTPFile[] file = ftp1.listFiles();
     
                    // 遍历所有文件,匹配需要查找的文件                                                    for (int i = 0; i < file.length; i++) {
     
                        String fileName = "文件名.csv";
                        // 匹配到则进入
                        if (file[i].getName().contains(fileName)) {
                            // 将匹配到的文件流传入接口,转化成数组集合
                            ArrayList<String[]> csvList = ftpInterface.csv(ftp1
                                    .retrieveFileStream(file[i].getName()));
     
                            // 将csv文件里的数据打印出来
                            // 遍历每一行
                            for (int row = 0; row < csvList.size(); row++) {
                                // 遍历每一行中的每一列
                                for (int j = 0; j < csvList.get(row).length; j++) {
                                    System.out.print(csvList.get(row)[j] + "\t|");
                                }
                                System.out.println();
                            }
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }


    所需要的包:

    1.  javacsv.jar,下载地址:http://download.csdn.net/detail/aguang_vip/7537577

    2.  jakarta-oro-2.0.8.jar,下载地址:http://download.csdn.net/detail/aguang_vip/7537561

    3.  commons-net.-1.4.1jar,下载地址:http://download.csdn.net/detail/aguang_vip/7537505


    --------------------- 
    作者:aguang_vip 
    来源:CSDN 
    原文:https://blog.csdn.net/aguang_vip/article/details/33709971 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • Java将文本文件中的数据读取到集合

    千次阅读 多人点赞 2020-01-17 12:50:19
    把文本文件中的数据读取到集合中,并遍历集合。要求:文件中每一行数据是一个集合元素 思路: 1:创建字符缓冲输入流对象 2:创建ArrayList集合对象 3:调用字符缓冲输入流对象的方法读数据 4:把读取到的字符...

    练习一:
    需求:
    把文本文件中的数据读取到集合中,并遍历集合。要求:文件中每一行数据是一个集合元素

    思路:
        1:创建字符缓冲输入流对象
        2:创建ArrayList集合对象
        3:调用字符缓冲输入流对象的方法读数据
        4:把读取到的字符串数据存储到集合中
        5:释放资源
        6:遍历集合
    
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    
    /*
        需求:
            把文本文件中的数据读取到集合中,并遍历集合。要求:文件中每一行数据是一个集合元素
    
        思路:
            1:创建字符缓冲输入流对象
            2:创建ArrayList集合对象
            3:调用字符缓冲输入流对象的方法读数据
            4:把读取到的字符串数据存储到集合中
            5:释放资源
            6:遍历集合
     */
    public class TxtToArrayListDemo {
        public static void main(String[] args) throws IOException {
            //创建字符缓冲输入流对象
            BufferedReader br = new BufferedReader(new FileReader("32myCharStream\\array.txt"));
    
            //创建ArrayList集合对象
            ArrayList<String> array = new ArrayList<String>();
    
            //调用字符缓冲输入流对象的方法读数据
            String line;
            while ((line=br.readLine())!=null) {
                //把读取到的字符串数据存储到集合中
                array.add(line);
            }
    
            //释放资源
            br.close();
    
            //遍历集合输出
            for(String s : array) {
                System.out.println(s);
            }
        }
    }
    

    练习二:

    • 案例需求

      把文本文件中的数据读取到集合中,并遍历集合。要求:文件中每一行数据是一个学生对象的成员变量值
      举例:itheima001,林青霞,30,西安

    • 实现步骤

      • 定义学生类
      • 创建字符缓冲输入流对象
      • 创建ArrayList集合对象
      • 调用字符缓冲输入流对象的方法读数据
      • 把读取到的字符串数据用split()进行分割,得到一个字符串数组
      • 创建学生对象
      • 把字符串数组中的每一个元素取出来对应的赋值给学生对象的成员变量值
      • 把学生对象添加到集合
      • 释放资源
      • 遍历集合
    • 代码实现

      • 学生类
    public class Student {
        private String sid;
        private String name;
        private int age;
        private String address;
    
        public Student() {
        }
    
        public Student(String sid, String name, int age, String address) {
            this.sid = sid;
            this.name = name;
            this.age = age;
            this.address = address;
        }
    
        public String getSid() {
            return sid;
        }
    
        public void setSid(String sid) {
            this.sid = sid;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getAddress() {
            return address;
        }
    
        public void setAddress(String address) {
            this.address = address;
        }
    }
    
    • 测试类
    public class FileToArrayListDemo {
        public static void main(String[] args) throws IOException {
            //创建字符缓冲输入流对象
            BufferedReader br = new BufferedReader(new FileReader("myCharStream\\students.txt"));
    
            //创建ArrayList集合对象
            ArrayList<Student> array = new ArrayList<Student>();
    
            //调用字符缓冲输入流对象的方法读数据
            String line;
            while ((line = br.readLine()) != null) {
                //把读取到的字符串数据用split()进行分割,得到一个字符串数组
                String[] strArray = line.split(",");
    
                //创建学生对象
                Student s = new Student();
                //把字符串数组中的每一个元素取出来对应的赋值给学生对象的成员变量值
                //itheima001,林青霞,30,西安
                s.setSid(strArray[0]);
                s.setName(strArray[1]);
                s.setAge(Integer.parseInt(strArray[2]));
                s.setAddress(strArray[3]);
    
                //把学生对象添加到集合
                array.add(s);
            }
    
            //释放资源
            br.close();
    
            //遍历集合
            for (Student s : array) {
                System.out.println(s.getSid() + "," + s.getName() + "," + s.getAge() + "," + s.getAddress());
            }
        }
    }
    
    展开全文
  • java新手
  • java ftp 读取文件读不出来,多文件,获取到文件内容注意事项 一、连接ftp的方法和读取文件内容 import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util....

    java ftp 读取文件读不出来,多文件,获取不到文件内容注意事项

    一、连接ftp的方法和读取文件内容

    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.commons.net.PrintCommandListener;
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPFile;
    import org.apache.commons.net.ftp.FTPReply;
    
    /**
     * @Author: 
     * @Contact: 
     * @Date: 2019/11/6 16:41
     * @Version: 1.0
     * @Description:
     */
    @Slf4j
    public class FTPListAllFiles {
        public         FTPClient         ftp;
        public         ArrayList<String> arFiles;
    
        /**
         * 重载构造函数
         *
         * @param isPrintCommmand 是否打印与FTPServer的交互命令
         */
        public FTPListAllFiles(boolean isPrintCommmand) {
            ftp = new FTPClient();
            arFiles = new ArrayList<String>();
            if (isPrintCommmand) {
                ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
            }
        }
    
        /**
         * 登陆FTP服务器
         *
         * @param host     FTPServer IP地址
         * @param port     FTPServer 端口
         * @param username FTPServer 登陆用户名
         * @param password FTPServer 登陆密码
         * @return 是否登录成功
         * @throws IOException
         */
        public  boolean login(String host, int port, String username, String password) throws IOException {
            this.ftp.connect(host, port);
            if (FTPReply.isPositiveCompletion(this.ftp.getReplyCode())) {
                if (this.ftp.login(username, password)) {
                    this.ftp.setControlEncoding("GBK");
                    return true;
                }
            }
            if (this.ftp.isConnected()) {
                this.ftp.disconnect();
            }
            return false;
        }
    
        /**
         * 关闭数据链接
         *
         * @throws IOException
         */
        public void disConnection() throws IOException {
            if (this.ftp.isConnected()) {
                this.ftp.disconnect();
            }
        }
    
    	/**
    	 * 获取文件内的内容
    	 * fileName 文件名称
    	 * file 文件所在的文件夹
    	 */
        public List<String> getCSVContent(String fileName,String file) {
            List<String> list = new ArrayList<>();
            try {
                FtpInterface ftpInterface = new Ftp();
                /
                this.ftp.changeWorkingDirectory(file);//设置文件读取路径
                // 从ftp上获取ggw目录下的文件
                //FTPFile[] file1 = ftp.listFiles();
                log.info("文件名{}。名称{}!", file, fileName);
               ftp.enterLocalPassiveMode();//设置主动
                InputStream in = ftp.retrieveFileStream(new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));//读取文件内容转换
               ftp.completePendingCommand();//多个文件设置处理
                ArrayList<String[]> csvList = ftpInterface.praseCSV(in);
                in.close();
                // 将csv文件里的数据打印出来
                // 遍历每一行
                for (int row = 0; row < csvList.size(); row++) {
                    // 遍历每一行中的每一列
                    if (row == 0) {
                        continue;
                    }
                    for (int j = 0; j < csvList.get(row).length; j++) {
                        list.add(csvList.get(row)[j]);
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            return list;
        }
    
        /**
         * 递归遍历目录下面指定的文件名
         *
         * @param pathName 需要遍历的目录,必须以"/"开始和结束
         * @param ext      文件的扩展名
         * @throws IOException
         */
        public List<String> fileList(String pathName, String ext) throws IOException {
            List<String> list = new ArrayList<>();
            if (pathName.startsWith("/") && pathName.endsWith("/")) {
                //更换目录到当前目录
                this.ftp.changeWorkingDirectory(pathName);
                ftp.enterLocalPassiveMode();//设置ftp为主动
                FTPFile[] files = this.ftp.listFiles();
                for (FTPFile file : files) {
    
                    if (file.isFile()) {
                        if (file.getName().contains(ext)) {
                            arFiles.add(pathName + file.getName());
                            list.add(file.getName());
                        }
                    } else if (file.isDirectory()) {
                        if (!".".equals(file.getName()) && !"..".equals(file.getName())) {
                            fileList(pathName + file.getName() + "/", ext);
                        }
                    }
                }
            }
            return list;
        }
    }
    在这里插入代码片
    

    把字节流转换为字符串

    import java.io.InputStream;
    import java.nio.charset.Charset;
    import java.util.ArrayList;
    import com.csvreader.CsvReader;
    
    /**
     * @Author: 
     * @Contact: 
     * @Date: 2019/11/6 18:49
     * @Version: 1.0
     * @Description:
     */
    
    public class Ftp implements FtpInterface {
    
        /**
         * <b>将一个IO流解析,转化数组形式的集合<b>
         *
         * @param in 文件inputStream流
         */
        @Override
        public ArrayList<String[]> praseCSV(InputStream in) {
            ArrayList<String[]> csvList = new ArrayList<String[]>();
            if (null != in) {
                CsvReader reader = new CsvReader(in, ',', Charset.forName("UTF-8"));
                try {
                    //遍历每一行,若有#注释部分,则不处理,若没有,则加入csvList
                    while (reader.readRecord()) {
                        if (!reader.getValues()[0].contains("#"))// 清除注释部分
                        {
                            //获取的为每一行的信息,以数组的形式
                            csvList.add(reader.getValues());
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
                reader.close();
            }
            return csvList;
        }
    }
    在这里插入代码片
    
    import java.util.ArrayList;
    
    /**
     * @Author:
     * @Contact: 
     * @Date: 2019/11/6 18:48
     * @Version: 1.0
     * @Description:
     */
    public interface FtpInterface {
    
        ArrayList<String[]> praseCSV(InputStream in);
    
    }
    在这里插入代码片
    

    注意事项:

    1. 在读取文件时读不出文件时
      在读取文件前加: FTPClient.enterLocalPassiveMode() ;//把ftp设置为主动模式

    2. 读取多文件时
      下面文件读不出内容:FTPClient…completePendingCommand();设置多多文件的处理

    展开全文
  • Java读取文件内容的几种方式集合

    千次阅读 2010-09-26 09:48:00
    Java读取文件内容的几种方式集合   <br />1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 <br />public class ReadFromFile { ...
  • Java读取csv文件将内容插入数据库
  • java将文件hashSet/内存中 private Set readWordFile() { Set wordSet = null; // 要读取文件路径,这里自行更改 File file = new File( "D:/workspace/SensitiveWordDeal/resources/censorwords.txt"); ...
  • java 连接linux系统上的ftp服务器,通过java代码上传,下载文件 通过链接ftp,获取文件列表,上传。下载、删除文件功能实现
  • 主要给大家介绍了关于利用java读取web项目中json文件为map集合的相关资料,文中通过示例代码给大家介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
  • Java Properties集合 文件清单列表获取

    千次阅读 2017-10-15 15:24:03
    package io.properties;...import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOException; import
  • Java获取配置文件内容

    2020-05-17 16:09:47
    在平时我们的java项目中,有一些参数不是固定的,这就需要通过一个配置文件来存放这些参数,我们用到时直接读取文件中的参数就可以了,下面就介绍下java获取配置文件的一个方法。 在我们的工程下有一个配置文件...
  • Java 读取 txt 文件内容到容器 List

    千次阅读 2018-12-23 16:10:10
    一、桌面上准备 DataObject.txt 文件内容为:     二、打开 Eclipse,编写代码如下:  import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util....
  • javafile用于获取目录下符合条件的文件集合
  • java将集合保存excel中

    千次阅读 2016-02-22 13:17:10
    工具类uml图: 使用案例: ... * house为list集合,"e:\\test\\house.txt"为要保存地的路径。... ListSaveAsExcelFormat.enterWay(houses, "e:\\test\\house.txt");...产生的house.txt文件是按照e
  • java读取文件内容的方法总结

    千次阅读 2017-06-19 14:20:36
    java读取文件内容的方法总结 标签: java 2017-06-18 23:01 2人阅读 评论(0) 收藏 编辑 删除 本文章已收录于: 经常用到Java读取文件,做了个总结,分以下几种:  1,以字节为单位...
  • 有一个学生对象,包含学号、姓名、班级...运用多线程读取集合中学生对象后学生信息写入同一文件(按学生学号排序) 本人多线程实在不会,求大神解答。(不实现排序的也行)主要是能有多线程方面的代码提供下参考
  • 2019独角兽企业重金招聘Python... System.out.println("读取文件内容出错");  e.printStackTrace();  }  return list;  } } 转载于:https://my.oschina.net/bigdataer/blog/510994
  • java读取web项目下json文件为map集合

    千次阅读 2017-06-07 11:44:10
    读取JSON文件并转为java中的List<Map>
  •  ...import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.List; i
  • java文件之写入,读取,全部删除,获取过滤or获取特定字符串,删除特定字符串方法集合
  • java读取excle文件内容示例

    万次阅读 2017-12-17 15:08:26
    这里有一张学生成绩表要其中的数据读出来放Student集合中 先看下效果 下面上代码 Student 类 package vo; public class Student { private String id; private String name; private String gender; ...
  • Java读取文件内容并排序 写这篇博客的初衷是由于参加了一次笔试但未完成。网上查资料但很多代码我发现多多少少都有些问题,所以自己重新写了一下代码。一方面是为了自己,希望下次出现类似的问题能够迅速解决,另一...
  • 3. 通过遍历map集合我们需要的文件名和文件内容 ** /** * Java读取文件夹下的所有文件名和文件 * @author Younger * */ public class ReadFile { public static void main(String[] args) { Map<...
  • 分析以下需求,并用代码实现: 需求: 读取当前项目下的info1.txt 文件内容如下 : aaaaaaaaaaabbbbbbbbbbbbccdefg 要求数据去重后写回最终...将读取到的字符存储到集合中 4.创建输入流对象关联目标文件 ...
  • 网上搜了一圈,官方并有提供批量导出所有集合到json文件的方法。有不少脚本可以实现,但是我还是习惯用java,如下package starcLL.webClient;import java.io.File; import java.io.FileOutputStream; import java.io...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 363,901
精华内容 145,560
关键字:

java将集合内容读取到文件

java 订阅