Verwenden Sie Java-Programme, um die Textverarbeitung Notepad++ und Powershell zu ersetzen

藏色散人
Freigeben: 2020-03-02 17:29:25
nach vorne
3096 Leute haben es durchsucht

Verwenden Sie Java-Programme, um die Textverarbeitung Notepad++ und Powershell zu ersetzen

由于Notepad++里面的文字处理有些复杂,我在想能不能用一个Java程序来统一处理呢?

尝试了一下,发现不太复杂,Java果然处理各种事情都比较方便。程序如下:

注意在RegExp里面,必须用四个反斜杠\\\\代表一个反斜杠\

package com.pwc;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class WechatMomentDownload {
    
    public static String jsonFile = "C:\\Download\\exported_sns_gary.json";
    public static String outputFolder = "C:\\Download\\gary_pic\\";
    public static void main(String[] args) throws IOException {
        BufferedReader reader = null;
        String sLine = "";
        String sContent = "";
        String sLink = "";
        URL url = null;
        String outputFile = "";
        ArrayList<String> aLink = new ArrayList<String>();
        String Regex1 = "CDATA\\[http\\:\\\\\\/\\\\\\/(sh)?mmsns([^]]*)\\/0\\]";
        
        reader = new BufferedReader(
                new InputStreamReader(new FileInputStream(new File(jsonFile)), "UTF-8"));
        if (reader != null) {
            while ((sLine = reader.readLine()) != null) {
                sContent = sContent + sLine;
            }
            reader.close();
        }
        
        Pattern pattern = Pattern.compile(Regex1);
        Matcher matcher = pattern.matcher(sContent);
        int count = 0;
        
        System.out.println("Start processing...");
        while(matcher.find()) {
            count++;
            sLink = sContent.substring(matcher.start() + 6, matcher.end() - 1);
            sLink = sLink.replaceAll("\\\\/", "/");
            aLink.add(sLink);
         }
        
        System.out.println(count + " pictures were found");
        
        for (String sLinkTemp : aLink) {
            url = new URL(sLinkTemp);
            DataInputStream dataInputStream = new DataInputStream(url.openStream());
            
            outputFile = outputFolder + count + ".jpg";
            FileOutputStream fileOutputStream = new FileOutputStream(new File(outputFile));
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            System.out.println("Downloading " + sLinkTemp + " to file " + outputFile);
            
            byte[] buffer = new byte[1024];
            int length;
 
            while ((length = dataInputStream.read(buffer)) > 0) {
                output.write(buffer, 0, length);
            }
            fileOutputStream.write(output.toByteArray());
            dataInputStream.close();
            fileOutputStream.close();
        
            count--;
        }
        
        System.out.println("End of processing...");
    }
}
Nach dem Login kopieren

更多notepad教程,请访问notepad使用教程栏目:https://www.php.cn/tool/notepad/

Das obige ist der detaillierte Inhalt vonVerwenden Sie Java-Programme, um die Textverarbeitung Notepad++ und Powershell zu ersetzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!