Table des matières
Conversion mutuelle entre les chaînes et les flux d'entrée
Flux d'entrée et de sortie de caractères
Flux d'entrée de caractères
字符输出流
Maison Java javaDidacticiel Comment convertir des chaînes et des flux d'entrée en Java

Comment convertir des chaînes et des flux d'entrée en Java

May 27, 2023 pm 04:38 PM
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; 
}
Copier après la connexion

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; 
}
Copier après la connexion

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 "获取失败";
        }
    }
}
Copier après la connexion

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

Comment convertir des chaînes et des flux dentrée en Java

Méthode de construction :

# 🎜🎜#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();
			}
		}
	}
   }
}
Copier après la connexion

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();
			}
		}
	}
   }
}
Copier après la connexion

字符输出流

java.io.Writer抽象类是所有字符输出流的父类,用于对文件写入数据。

字符输出流结构:

Comment convertir des chaînes et des flux dentrée en Java

为了写入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

DescriptionLisez un caractère, il retournera -1int read(char[] cbuf, int off, int len)Décalage de ce flux d'entrée de caractères Lire les caractères len dans le tableau de caractères void reset()Réinitialiser le fluxboolean ready( )void close()# 🎜🎜#Fermer la saisie du caractère diffuser et libérer toutes les ressources systèmelong skip(long n)Sauter la lecture Prendre n caractères et renvoyer le nombre de caractères ignorés #🎜 🎜# Marquer ce flux d'entrée lors de l'utilisation Lorsque la méthode de réinitialisation est appelée, revenez à cette position et commencez à lire les caractères 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);
		char c='你';
		fw.write((int)c);
	} 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();
			}
		}
	}       
   }
}
Copier après la connexion
2. Lisez plusieurs caractères et sortie.
int read()
int read(char[] cbuf)Read cbuf.length caractères Mettez-le dans le tableau de caractères #🎜🎜 #
#🎜 🎜#
Déterminer si ce flux est prêt à être lu
void mark(int readLimit)
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();
			}
		}
	}       
   }
}
Copier après la connexion

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 : #🎜🎜##🎜🎜##🎜🎜#Comment Java implémente la conversion mutuelle entre les chaînes et les flux d'entrée#🎜🎜##🎜🎜#Pour écrire, Java fournit une classe pratique pour l'écriture de caractères. #🎜🎜##🎜🎜##🎜🎜#Classe FileWriter#🎜🎜##🎜🎜##🎜🎜##🎜🎜#Méthode de construction : #🎜🎜##🎜🎜##🎜🎜##🎜🎜## 🎜🎜#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#🎜🎜#rrreee

Ce 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Racine carrée en Java Racine carrée en Java Aug 30, 2024 pm 04:26 PM

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.

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

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.

Générateur de nombres aléatoires en Java Générateur de nombres aléatoires en Java Aug 30, 2024 pm 04:27 PM

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.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

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.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

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.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

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.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

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

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

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.

See all articles