Heim  >  Artikel  >  Java  >  Schreiben Sie einen Java Zhihu-Crawler ohne Fundament und speichern Sie den erfassten Inhalt lokal

Schreiben Sie einen Java Zhihu-Crawler ohne Fundament und speichern Sie den erfassten Inhalt lokal

黄舟
黄舟Original
2016-12-24 11:48:191284Durchsuche

说到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)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn