Comment convertir des chaînes et des flux d'entrée en Java
Conversion mutuelle entre les chaînes et les flux d'entrée
Lors de la lecture des ressources réseau, la conversion mutuelle entre les chaînes et les flux d'entrée est souvent utilisée.
Convertissez la chaîne en flux d'entrée, le code est le suivant :
public static InputStream getStringStream(String sInputString){ if (sInputString != null && !sInputString.trim().equals("")){ try{ ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(sInputString.getBytes()); return tInputStringStream; }catch (Exception ex){ ex.printStackTrace(); } } return null; }
Convertissez le flux d'entrée en chaîne, le code est le suivant :
public static String getStreamString(InputStream tInputStream){ if (tInputStream != null){ try{ BufferedReader tBufferedReader = new BufferedReader(new InputStreamReader(tInputStream)); StringBuffer tStringBuffer = new StringBuffer(); String sTempOneLine = new String(""); while ((sTempOneLine = tBufferedReader.readLine()) != null){ tStringBuffer.append(sTempOneLine); } return tStringBuffer.toString(); }catch (Exception ex){ ex.printStackTrace(); } } return null; }
Ou La méthode suivante, le code est le suivant :
public class StreamTool { /** * 把输入流的内容转化成字符串 * @param is * @return */ public static String readInputStream(InputStream is){ try { ByteArrayOutputStream baos=new ByteArrayOutputStream(); int length=0; byte[] buffer=new byte[1024]; while((length=is.read(buffer))!=-1){ baos.write(buffer, 0, length); } is.close(); baos.close(); //或者用这种方法 //byte[] result=baos.toByteArray(); //return new String(result); return baos.toString(); } catch (Exception e) { e.printStackTrace(); return "获取失败"; } } }
Flux d'entrée et de sortie de caractères
Flux d'entrée de caractères
java. L'abstraction io.Reader est composée uniquement d'entrées de caractères. La classe parent du flux, utilisée pour lire le contenu du fichier. 🎜#
#🎜 🎜#Afin de faciliter la lecture, Java propose une classe pratique pour lire les fichiers de caractères.Classe FileReader
# 🎜🎜#FileReader(File file);
Crée un nouveau FileReader à partir d'un fichier à partir duquel lire les données.
FileReader(String fileName);
Crée un nouveau FileReader en fonction du nom d'un fichier à partir duquel lire les données.
Méthodes de lecture courantes :
FileReader(File file);
在给定从中读取数据的 File 的情况下创建一个新 FileReader。FileReader(String fileName);
在给定从中读取数据的文件名的情况下创建一个新 FileReader。
常用读取方法:
方法名 | 说明 |
---|---|
int read() | 读入一个字符,都到结尾则返回-1 |
int read(char[] cbuf) | 将读取的cbuf.length个字符读取到char数组中 |
int read(char[] cbuf, int off, int len) | 从此字符输入流中偏移量off到len个字符读取到char数组中 |
void reset() | 重置该流 |
boolean ready() | 判断是否准备读取此流 |
void close() | 关闭字符输入流,并释放所有系统资源 |
long skip(long n) | 跳过读取n个字符,并返回跳过字符的数量 |
void mark(int readLimit) | 将此输入流标记,当使用reset方法时就返回到该位置,从此位置开始读入字符 |
1.单个读取,如果文件太大不建议使用。
import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class dome2{ public static void main(String[] args){ File file=new File("D:/../...txt"); //创建file对象 FileReader fr=null; try { fr=new FileReader(file); int c; while((c=fr.read())!=-1) { System.out.print((char)c); //强制转换成字符 } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(fr!=null) { try { fr.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
2.读取多个字符输出。
import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class dome2{ public static void main(String[] args){ File file=new File("D:/../...txt"); FileReader fr=null; try { fr=new FileReader(file); char[] c=new char[100]; int length; while((length=fr.read(c))!=-1) { System.out.println(new String(c,0,length)); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(fr!=null) { try { fr.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
字符输出流
java.io.Writer抽象类是所有字符输出流的父类,用于对文件写入数据。
字符输出流结构:
为了写入Java提供了一种字符写入的便捷类。
FileWriter类
构造方法:
FileWriter(File file)
与FileWriter(String fileName);
使用给定的file对象或者给定的文件路径名构造一个FileWriter对象。FileWriter(File file, boolean append)
与FileWriter(String fileName, boolean append);
nom de la méthode
Descriptionint read() | |
---|---|
int read(char[] cbuf) | Read cbuf.length caractères Mettez-le dans le tableau de caractères #🎜🎜 # |
Décalage de ce flux d'entrée de caractères Lire les caractères len dans le tableau de caractères | |
Réinitialiser le flux | #🎜 🎜# |
Déterminer si ce flux est prêt à être lu | |
long skip(long n) | |
void mark(int readLimit) | |
1. La lecture unique n'est pas recommandée si le fichier est trop volumineux. |
import java.io.File; import java.io.FileWriter; import java.io.IOException; public class dome2{ public static void main(String[] args){ File file=new File("D:/../...txt"); //创建file对象 FileWriter fw=null; try { fw=new FileWriter(file); String str="你好,java"; fw.write(str); //写入一个字符串,等价于write(str,0,str.length); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(fw!=null) { try { fw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
Flux de sortie de caractères
java.io.Writer La classe abstraite est la classe parent de tous les flux de sortie de caractères et est utilisée pour écrire des données dans des fichiers.
#🎜🎜##🎜🎜#Structure du flux de sortie des personnages : #🎜🎜##🎜🎜##🎜🎜#
FileWriter(File file)
et FileWriter(String fileName
Construisez un objet FileWriter en utilisant l'objet fichier donné ou le nom de chemin de fichier donné. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#FileWriter(File file, boolean append)
et FileWriter(String fileName, boolean append);
en donnant Construisez un objet FileWriter avec un certain objet fichier ou un certain nom de chemin de fichier, et indiquez s'il faut l'ajouter ou l'écraser. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#Méthodes de lecture courantes#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#Nom de la méthode # 🎜🎜##🎜🎜#Description#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#void write(char[] cbuf)#🎜🎜##🎜🎜#will All les tableaux de caractères spécifiés par cbuf sont écrits dans le flux de sortie de caractères #🎜🎜##🎜🎜##🎜🎜##🎜🎜#void write(char[] cbuf,int off,int len)#🎜🎜##🎜🎜#décalera le caractère dans le tableau cbuf de off à write longueur len caractères dans ce flux de sortie. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#void write(String str )#🎜🎜##🎜🎜#Écrire une chaîne dans le flux d'entrée de caractères#🎜🎜##🎜🎜##🎜 🎜# #🎜🎜#void write(String str, int off,int len)#🎜🎜##🎜🎜#Écrivez une chaîne str à partir du décalage désactivé, longueur de la chaîne len dans ce flux de sortie. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Abstract void flush()#🎜🎜##🎜🎜#Actualise le flux de sortie actuel et force l'écriture de toutes les données de caractères #🎜🎜##🎜🎜# # 🎜🎜##🎜🎜#abstract void close()#🎜🎜##🎜🎜#Fermer ce flux de sortie#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#1.writer(int c );Écrivez un caractère#🎜🎜#rrreee#🎜🎜#2.writer(String str);Écrivez une chaîne#🎜🎜#rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.
