java在读取linux目录时可以使用FileSystem类,FileSystem创建IO流时需要Path子类,新建Path只需要传入String类型的路径即可。
所以拼接路径实际上就是对String的拼接。
String有多种方法可以拼接,最简单的是直接用+号来接。
B. java8中如何将多个集合的数据拼接成一个统一的流
java8中stream的提供了一个拼接流的方法Stream.concat,可以将两个stream拼接成一个stream, 保持了两个stream中的元素顺序。
那么如果我们需要对多个集合中的元素拼接成一个stream来统一处理,可以怎么做呢?
比如有三个Collection<String> c1, c2, c3.
方法一,使用Stream.concat方法来拼接,可以使用一个for循环来处理。
private static Stream<String> concat1(List<Collection<String>> collections) {
Stream result = Stream.empty();
for (Collection<String> strings : collections) {
result = Stream.concat(result, strings.stream());
}
return result;
}
方法二,使用flatMap方法,将集合变成stream, 再压平
private static Stream<String> concat2(List<Collection<String>> collections) {
return collections.stream()
.flatMap(Collection::stream);
}
对于不同集合类型的数据,如何做成一个统一的流?还是可以使用flatMap方法来做
方法三:
private static Stream<String> concat3(List<String> s1,String[] s2, Set<String> s3) {
return Stream.of(s1.stream(), Arrays.stream(s2), s3.stream())
.flatMap(Function.identity());
}
方法三和方法二相比,可以使用不同类型的集合类型来拼接流,方法二在拥有共同基类的情况下使用会显得简洁很多。
C. java 拼接字符和解析字符串
importjava.util.ArrayList;
importjava.util.List;
/**
*CreatedbyAdministratoron2015/6/14.
*/
publicclassTest{
privatestaticList<String>infor;
static{
infor=newArrayList<String>();
infor.add("流水号1");
infor.add("收款方帐号1");
infor.add("真实姓名");
infor.add("付款金额1");
infor.add("备注说明1");
infor.add("流水号2");
infor.add("收款方帐号2");
infor.add("真实姓名");
infor.add("付款金额2");
infor.add("备注说明2");
}
publicstaticvoidmain(Stringargs[]){
/**
*开始拼接字符串
*/
StringinforString=infor.get(0);
for(inti=1,k=infor.size();i<k;i++){
if(i%5==0){
inforString+="|";
}else{
inforString+="^";
}
inforString+=infor.get(i);
}
System.out.println("拼接后的字符串是:"+inforString);
/**
*开始解释字符串
*/
String[]usersInfor=inforString.split("\|");
System.out.println(usersInfor.length);
Useruser;
String[]userString;
for(inti=0,k=usersInfor.length;i<k;i++){
userString=usersInfor[i].split("\^");
user=newUser();
user.setId(userString[0]);
user.setGathering(userString[1]);
user.setName(userString[2]);
user.setPayment(userString[3]);
user.setRemark(userString[4]);
System.out.println("User"+i+"="+user);
}
}
staticclassUser{
privateStringid;
privateStringgathering;
privateStringname;
privateStringpayment;
privateStringremark;
publicUser(){
}
publicStringgetId(){
returnid;
}
publicvoidsetId(Stringid){
this.id=id;
}
publicStringgetGathering(){
returngathering;
}
publicvoidsetGathering(Stringgathering){
this.gathering=gathering;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPayment(){
returnpayment;
}
publicvoidsetPayment(Stringpayment){
this.payment=payment;
}
publicStringgetRemark(){
returnremark;
}
publicvoidsetRemark(Stringremark){
this.remark=remark;
}
@Override
publicStringtoString(){
return"[id:"+id+",gathering:"+gathering+",name:"+name+",payment:"+payment+",remark:"+remark+"]";
}
}
}
D. java字符串的拼接
import java.util.Scanner;
public class dd {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //声明输入对象
System.out.println("请输入第一个字败团符串:") ;//打印闭桥友好提示
String first = sc.next(); /轿枯猛/阻塞,等待输入第一个字符串
System.out.println("请输入第一个字符串:"); //打印友好提示
String second = sc.next(); //阻塞,等待输入第二个字符串
String s = first+second; //进行拼接
System.out.println("您输入的字符串拼接后的结果为:"+s); //打印拼接结果
}
}
纯手打,求给分!绝对妥妥的!
这样可以么?
E. java实现多个tif文件图片拼接
publicstaticvoidmany2one(List<String>bookFilePaths,StringtoPath,StringdistFileName){
if(bookFilePaths!=null&&bookFilePaths.size()>0){
File[]files=newFile[bookFilePaths.size()];
for(inti=0;i<bookFilePaths.size();i++){
files[i]=newFile(bookFilePaths.get(i));
}
if(files!=null&&files.length>0){
try{
ArrayListpages=newArrayList(files.length-1);
FileSeekableStream[]stream=newFileSeekableStream[files.length];
for(inti=0;i<files.length;i++){
stream[i]=newFileSeekableStream(
files[i].getCanonicalPath());
}
ParameterBlockpb=(newParameterBlock());
PlanarImagefirstPage=JAI.create("stream",stream[0]);
for(inti=1;i<files.length;i++){
PlanarImagepage=JAI.create("stream",stream[i]);
pages.add(page);
}
TIFFEncodeParamparam=newTIFFEncodeParam();
Filef=newFile(toPath);
if(!f.exists()){
f.mkdirs();
}
OutputStreamos=newFileOutputStream(toPath+File.separator+distFileName);
ImageEncoderenc=ImageCodec.createImageEncoder("tiff",
os,param);
param.setExtraImages(pages.iterator());
enc.encode(firstPage);
for(inti=0;i<files.length;i++){
stream[i].close();
if(files[i].isFile()&&files[i].exists()){
files[i].delete();
}
}
os.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
F. java怎么把2个字符串拼接在一起
差距很大
GTX1060撑死也就GTX980的性能
RX 480和顶级非公GTX970差不多
而GTX1070比GTX980TI还强一点
二者差距百分之40