Konvertera mellan datatyper kan vara en utmaning i ett programmeringsspråk , inklusive Java . En programmerare kanske vill ta en viss datatyp och omvandla den till en annan datatyp när de två är inte kompatibla alls . Men Konvertera mellan Java Strings och InputStreams är bara en fråga om att använda byte kodningsmetod inneboende i Java strängar för att övergå till en ingång strömobjekt . Saker du behöver
Senaste Java SDK tillgängligt för nuvarande plattformen
Textredigeraren
Visa fler instruktioner
1
inrätta en Java -klass . Klassen kommer att använda " ByteArrayInputStream " och " InputStream " bibliotek ( för InputStream ) och ett undantag klass , " UnsupportedEncodingException , " som programmeraren använder för att kasta ett undantag bör strängkodning misslyckas . Skelettet i klassen " ConvertString " innehåller " main " metoden och definierar en sträng för att konvertera
import java.io.ByteArrayInputStream , .
Import java.io.InputStream ;
import java.io.UnsupportedEncodingException ,
public class ConvertString
{
public static void main ( String args [ ] ) katalog
{
String konvertera = " Sträng att konvertera " ,
}
}
2
Inrätta ett undantag kvarter vid felaktig text kodning . Inte alla datorarkitekturer stödja alla typer av teckenkodning . Därför bör programmeraren använda en " prova ... catch " block som kommer att avsluta programmet graciöst bör strängkodning misslyckas .
Prova
{
/* kod till konvertera går här * /
}
fångst ( UnsupportedEncodingException e ) katalog
{
System.out.println ( " Encoding Error , Avbryter ... " ) ;
}
3
konvertera strängen till ett " ByteArrayInputStream " objektet . I " prova " delen av försök ... catch-block , ange följande exempelkod :
prova
{
input
InputStream = ny ByteArrayInputStream ( convert.getBytes ( " UTF - 8 " ) ) ;
}
Obs: " getBytes " metod kallas av " convert " inte behöver en kodning format ( t.ex. " UTF - 8 " ) definieras för att använda den typ default kodning för operativsystem som används . Men ibland en programmerare behöver använda andra byte kodningar , och " prova ... catch " blocket kan bidra till att korrekt kodning händer .