Home  >  Article  >  Java  >  Write a Java Zhihu crawler with zero foundation and store the captured content locally

Write a Java Zhihu crawler with zero foundation and store the captured content locally

黄舟
黄舟Original
2016-12-24 11:48:191249browse

说到Java的本地存储,肯定使用IO流进行操作。
首先,我们需要一个创建文件的函数createNewFile:

public static boolean createNewFile(String filePath) {  
        boolean isSuccess = true;  
        // 如有则将"\\"转为"/",没有则不产生任何变化  
        String filePathTurn = filePath.replaceAll("\\\\", "/");  
        // 先过滤掉文件名  
        int index = filePathTurn.lastIndexOf("/");  
        String dir = filePathTurn.substring(0, index);  
        // 再创建文件夹  
        File fileDir = new File(dir);  
        isSuccess = fileDir.mkdirs();  
        // 创建文件  
        File file = new File(filePathTurn);  
        try {  
            isSuccess = file.createNewFile();  
        } catch (IOException e) {  
            isSuccess = false;  
            e.printStackTrace();  
        }  
        return isSuccess;  
    }

然后,我们需要一个写入文件的函数:

public static boolean writeIntoFile(String content, String filePath,  
            boolean isAppend) {  
        boolean isSuccess = true;  
        // 先过滤掉文件名  
        int index = filePath.lastIndexOf("/");  
        String dir = filePath.substring(0, index);  
        // 创建除文件的路径  
        File fileDir = new File(dir);  
        fileDir.mkdirs();  
        // 再创建路径下的文件  
        File file = null;  
        try {  
            file = new File(filePath);  
            file.createNewFile();  
        } catch (IOException e) {  
            isSuccess = false;  
            e.printStackTrace();  
        }  
        // 写入文件  
        FileWriter fileWriter = null;  
        try {  
            fileWriter = new FileWriter(file, isAppend);  
            fileWriter.write(content);  
            fileWriter.flush();  
        } catch (IOException e) {  
            isSuccess = false;  
            e.printStackTrace();  
        } finally {  
            try {  
                if (fileWriter != null)  
                    fileWriter.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
  
        return isSuccess;  
    }

 以上就是零基础写Java知乎爬虫之将抓取的内容存储到本地的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn