Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL

Hintergrund

--JRubys #open löst einen Fehler in der Windows 10-Umgebung aus

Input-Output

--Streit --url (Variablenname: Link)

Code

JavaOpen.java


import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;

public class JavaOpen{
    public static String open(String link, int time_limit){
        String html = "";
        try {
            URL url = new URL(link);
            URLConnection con = url.openConnection();
            con.setConnectTimeout(time_limit*300);
            con.setReadTimeout(time_limit*700);
            try (InputStream is = con.getInputStream();){
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                byte[] byteChunk = new byte[8192];
                int n;

                while ( (n = is.read(byteChunk)) > 0 ) {
                    baos.write(byteChunk, 0, n);
                }
                byte[] bytes = baos.toByteArray();
                html = bytesToHtml(bytes);
            } catch (IOException e) {
                e.printStackTrace ();
            }
        } finally {
            return html;
        }
    }

    public static String bytesToHtml(byte[] src) throws UnsupportedEncodingException {
        String[] char_codes = { "UTF8","SJIS","EUC_JP","EUC_JP_LINUX","EUC_JP_Solaris" };
        for (String cc: char_codes){
            String s_tmp = new String(src, cc);
            byte[] b_tmp = s_tmp.getBytes(cc);
            if (Arrays.equals(src, b_tmp)) {
                return s_tmp;
            }
        }
        return "";
    }
}

Kommentar

--String [] char_codes = {"UTF8", "SJIS", "EUC_JP", "EUC_JP_LINUX", "EUC_JP_Solaris"}; ist ein Zeichencode, auf den Sie möglicherweise zugreifen können. Sie können ihn also gerne verwenden.

Referenz

Recommended Posts

Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Errate den Zeichencode in Java
JSON in Java und Jackson Teil 1 Gibt JSON vom Server zurück
Die Anwendung absorbiert den Unterschied im Zeichencode
OCR in Java (Zeichenerkennung aus Bildern)
Java-Zeichencode
In Bezug auf transiente Modifikatoren und Serialisierung in Java
Erfassen und speichern Sie die Selen-Installation in Java
Hinzufügen, Lesen und Löschen von Excel-Kommentaren mit Java
[Java] Dateien in src / main / resources lesen
Generieren Sie OffsetDateTime aus Clock und LocalDateTime in Java
Ruby: Nokogiri ermittelt automatisch den Zeichencode von HTML, das im Binärmodus gelesen wird
[Deep Learning von Grund auf neu] in Java 1. Zur Zeit Differenzierung und teilweise Differenzierung
Lesen Sie JSON in Java
Rufen Sie die URL des HTTP-Umleitungsziels in Java ab
Schreiben Sie ABNF in Java und geben Sie die E-Mail-Adresse weiter
Lesen Sie die Paketerfassung, die von tcpdump mit Java erhalten wurde
Java-Sprache aus der Sicht von Kotlin und C #
Quelle zum Abrufen der Umleitungsquell-URL in Java
In der Abbildung verstandene Java-Klassen und -Instanzen
Subtrahieren Sie Enum-Konstanten von Zeichenfolgen und Werten in Java zurück
Unterschiede im Code bei Verwendung des Längensystems in Java
[Android-Entwicklung] Holen Sie sich mit Java Bilder vom Server und legen Sie sie in ImageView fest! !!
Lesen Sie Binärdateien in Java 1
Suchen Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java
In Java möchte ich mehrere angegebene Zeichen nur von Anfang bis Ende abschneiden.
Stellen Sie Datum und Uhrzeit aus der Zeichenfolge mit POI ein
So legen Sie den Zeichencode und den Zeilenvorschubcode in Eclipse fest
Lesen Sie die Standardeingabe in Java
Verstehen Sie das Singleton-Muster, indem Sie Java- und JavaScript-Code vergleichen
Lesen Sie Binärdateien in Java 2
Java mit Visual Studio Code
Schreiben Sie Java8-ähnlichen Code in Java8
Denken Sie über die Unterschiede zwischen Funktionen und Methoden nach (in Java)
Ruft Attribute und Werte aus einer XML-Datei in Java ab
Verstehen Sie das Iterator-Muster, indem Sie Java- und JavaScript-Code vergleichen
Installieren Sie das memcached Plugin unter MySQL und greifen Sie von Java aus zu
[Java] Ordnen Sie die Daten des vergangenen Montags und Sonntags der Reihe nach an
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
Lesen Sie die ersten 4 Bytes der Java-Klassendatei und geben Sie CAFEBABE aus
Vom jungen Java (3 Jahre) bis zu Node.js (4 Jahre). Und der Eindruck, nach Java zurückzukehren
Vermeiden Sie Zeichencodefehler in Java, wenn Sie die VScode-Erweiterung RUN-CODE verwenden
Beispielcode zum Aufrufen der Yahoo! Local Search API in Java
Beispielcode mit JMustache, der Moustache-Vorlagen-Engine in Java
[Java] So konvertieren Sie vom Typ String in den Pfadtyp und erhalten den Pfad
Lesen Sie Druck und Temperatur von Raspberry Pi 3 & BMP180 mit Java ab
Lesen und generieren Sie QR-Code [Android]
Einfaches Lesen von Textdateien in Java (Java 11 & Java 7)
Lesen Sie die Java-Eigenschaftendatei in C #
Code Java von Emacs mit Eclim
Java Spring-Umgebung in vs Code
Beispiel für Codierung und Decodierung in Java
Geben Sie den Java-Speicherort in eclipse.ini an
Lesen Sie CSV in Java (Super CSV Annotation)
Entpacken Sie die Zip-Datei in Java
[Java] Entfernen Sie Leerzeichen in Zeichenfolgen
Java 9 neue Funktionen und Beispielcode
Generieren Sie die CloudStack-API-URL in Java
StringBuffer- und StringBuilder-Klasse in Java