实验-熟悉常用的HDFS操作-标准答案_第1页
实验-熟悉常用的HDFS操作-标准答案_第2页
实验-熟悉常用的HDFS操作-标准答案_第3页
实验-熟悉常用的HDFS操作-标准答案_第4页
实验-熟悉常用的HDFS操作-标准答案_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验-熟悉常用的HDFS操作-答 案作者: 日期:2实验2熟悉常用的HDFS操作实验手册实验2熟悉常用的HDFS操作实验目的2.3.1.理解HDFS在Hadoop体系结构中的角色; 熟练使用HDFS操作常用的Shell命令; 熟悉HDFS操作常用的Java API。实验平台操作系统:Lin uxHadoop版本:2.6.0或以上版本JDK版本:1.6或以上版本Java IDE: Eclipse实验内容和要求1.编程实现以下指定功能,并利用HadooP提供的Shell命令完成相同任务:提示:部分Shell命令的参数路径只能是本地路径或者 若Shell命令的参数既可以是本地路径,也可以是 证操作正

2、确,可指定路径前缀注意区分相对路径与绝对路径具体命令的说明可参考教材或1)2)3)4)HDFS路径。HDFS路径时,务必注意区分。为保hdfs:/ 或者 file:/htt P: /hado op.ap /docs/stable/hado op-p roject-dist/ha主讲教师:刘斌第3页doop-commo n/FileSystemShell.html(1) 向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;Shell命令:检查文件是否存在:./hdfs dfs -test -e text.txt(执行

3、完这一句不会输出结果,需要继续输入命令"echo $?")追加命令:./hdfs dfs -appendToFile local.txt text.txt覆盖命令 1: ./hdfs dfs -co pyFromLocal -f local.txt text.txt覆盖命令 2: ./hdfs dfs -cp -f file:/home/hadoop/local.txt text.txt也可以使用如下命令实现:fi才会真正执行):(如下代码可视为一行代码,在终端中输入第一行代码后,直到输入if $(./hdfs dfs -test -e text.txt);then $(.

4、/hdfs dfs -appen dToFile local.txt text.txt);else $(./hdfs dfs -copyF romLocal -f local.txt text.txt); fiJava代码: import org.a pache.hado op.conf.Con figuratio n;import org.a pache.hado op. fs.*;import java.io.*;public class HDFSA pi /*判断路径是否存在*/P ublic static boolea n test(C on figurati on conf, Str

5、ing p ath) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);return fs.exists( new P ath( path);/*复制文件到指定路径 若路径已存在,则进行覆盖*/public static void copyFromLocalFile(Configurationconf, String localFilePath, StringremoteFile Path) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);Path loca

6、l Path = new Path(localFile Path);P ath remote Path = new P ath(remoteFile Path);/* fs.co pyFromLocalFile第一个参数表示是否删除源文件,第二个参数表示是否覆盖*/fs.copyF romLocalFile(false, true, loca IP ath, remote Path); fs.closeO;/*追加文件内容*/p ublic static voidappen dToFile(C on figurati onconf, String localFile Path, Stringr

7、emoteFile Path) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);P ath remote Path = new P ath(remoteFile Path);/*创建一个文件读入流*/FileI np utStream in = new FileI np utStream(localFile Path);*/*创建一个文件输出流,输出的内容将追加到文件末尾FSDataOut pu tStream out = fs.appen d(remote Path);/*读写文件内容*/byte data = new b

8、yte1024;int read = -1;while ( (read = in. read(data) > 0 ) out.write(data, 0, read);/*out.close(); in .close(); fs.close();主函数*Ip ublic static void main( Stri ng args) Con figurati on conf = new Con figurati on();con f.set("fs.default. name","hdfs:/localhost:9000");/本地路径/ HDFS

9、路径/若文件存在则追加到文件末尾/若文件存在则覆盖Stri ng localFile Path = "IhomeIhadoo p/text.txt"Stri ng remoteFile Path = "IuserIhado op Itext.txt" String choice = "appen d"/Stri ng choice = "overwrite"try */*判断文件是否存在Boolea n fileExists = false;if (HDFSA pi.test(co nf, remoteFile P

10、ath) fileExists = true;System.out.printin(remoteFilePath + "已存在."); else System.out.printin(remoteFilePath + " 不存在.");/*进行处理*/if ( !fileExis ts) II文件不存在,则上传HDFSA pi.co pyFromLocalFile(co nf, localFile Path, remoteFile Path); System.out .printin (localFile Path + " 已上传至 ” + r

11、emoteFile Path); else if ( choice.equals("overwrite") ) II 选择覆盖HDFSA pi.co pyFromLocalFile(co nf, localFile Path, remoteFile Path);System.out.println(localFilePath + " 已覆盖 ” + remoteFilePath); else if ( choice.equals("append") ) II 选择追加HDFSA pi.a ppen dToFile(co nf, localFil

12、e Path, remoteFile Path);System.out .printin (localFile Path + " 已追加至 ” + remoteFile Path); catch (Exce pti on e) e.prin tStackTrace();实验2熟悉常用的HDFS操作实验手册I r> . KKn% r町XM E Mrb- Writes,! mni4:Fi 尹匕=1!=1) - h- rih.I押.亍m T" - >''im M-工-1 -r .Pr 千”, K T |*帀= * ki -c -一_丸和|八J T

13、9; _7 却 JXI.IC L:L' nJ . £伦I G口鳥电IlbHpSiftlPnilrfiJr S wvT izr. V- m 亦里帛:卜斗卜 B Wl Rr>可.-ri卜 门 rsnHBKfc-*: « g上 > dt L> 和耳.qr A却" J卜 HimJ- K.車(2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;Shell命令:if $(./hdfs dfs -test -e file:/home/hadoo p/text.txt);then $(./hdfs dfs -co

14、pyToLocal text.txt ./text2.txt);else $(./hdfs dfs -co pyToLocal text.txt ./text.txt);fiJava代码:import org.a pache.hado op.conf.Con figuratio n;import org.a pache.hado op. fs.*;import java.io.*;public class HDFSA pi /*下载文件到本地*判断本地路径是否已存在,若已存在,则自动进行重命名*/Public static voidcopyToLocal(Configurationconf.

15、String remoteFile Path,StringlocalFile Path) throws IOExce ption FileSystem fs = FileSystem.get(c onf);P ath remote Path = new P ath(remoteFile Path);File f = new File(localFile Path);/*如果文件名存在,自动重命名 (在文件名后面加上_0, _1 .) */if (f.exists() System.out. prin tl n(localFile Path + ”实验2熟悉常用的HDFS操作实验手册In teg

16、er i = 0;while (true) f = new File(localFile Path + "_" + i.toStri ng();if (!f.exists() localFile Path = localFile Path + "_" + i.toStri ng(); break;System.out.println(” 将重新命名为:"+ localFilePath);/下载文件到本地P ath local Path = new Path(localFile Path); fs.copy ToLocalFile(remote

17、Path, loca IP ath); fs.close(); /*主函数*/p ublic static void main( Stri ng args) Con figurati on conf = new Con figurati on();/本地路径/ HDFS路径con f.set("fs.default. name","hdfs:/localhost:9000");Stri ng localFile Path = "/home/hadoo p/text.txt"String remoteFile Path = "

18、/user/hado op /text.txt"try HDFSA pi.co pyToLocal(co nf, remoteFile Path, localFile Path); System.out.println(” 下载完成"); catch (Exce pti on e) e.prin tStackTrace();主讲教师:刘斌第5页实验2熟悉常用的HDFS操作实验手册匚I fv .叭. 4 iftc=ikici . J -运 riK -Bk "lAlf r L "li* IH O2 rfryrrt * jr-1- u b 屮)4 4r 4_-

19、timnI|L H. _> , , Fj 亠 If-土r II II -L - 141沖儿心卄-° H J EL 二F J_luufiLj -.h -b-i j-ixuE-M gFjnh cwwufjiflr_ "_ _2_.” P-F.jurT-"T«ir<c>l n KU-L II-i m 4 屮 >、r>= -I产匸m 1 -"J-P I 1 h f . , ) : H r rM Ma* *Lwf<I VHT ; i -3.泄i严p»d W*匸J fel、 b O 一 :!工2_ES>

20、J - 'I松:r 5存.哥=p"=-rT> _.4 «4f M E H Ir- V!l n-匚 »u.' t r+ J t .+rr -iI' n p1*1*厂"LITJrMTIBirT"g<* ii- |g.heU!丄三.*阳2巳严将HDFS中指定文件的内容输出到终端中;Shell命令:./hdfs dfs -cat text.txtJava代码:import org.a pache.hado op.conf.Con figuratio n;import org.a pache.hado op. fs.*

21、;import java.io.*;public class HDFSA pi /*读取文件内容*/p ublic static void cat(C on figurati on conf. String remoteFile Path) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);P ath remote Path = new P ath(remoteFile Path);FSDataI np utStream in = fs.o pen (remote Path);BufferedReader d = new Bu

22、fferedReader( new Inp utStreamReader(i n);String line = n ull;while ( (li ne = d.readL in e() != nu II ) System.out. printin (I in e);d.close();in .close();fs.close();/*主函数*/P ublic static void main( Stri ng args) Con figurati on conf = new Con figurati on();/ HDFS路径con f.set("fs.default .n ame

23、","hdfs:/localhost:9000");String remoteFile Path = "/user/hado op /text.txt"try System.out.println(” 读取文件:"+ remoteFilePath);HDFSA pi .cat(co nf, remoteFile Path);System.out.println("n 读取完成"); catch (Exce pti on e) e.prin tStackTrace();frnE'S0h . V沪;占j F J

24、.十 Vi.' ttrg-和Ill 亘:f-iin *二1 UFpA* T- Tr - rf'- .u. Ta U-THbnt ah -irl -R- / rin >*: J-I nn - qAr-uiU-rLy A- lijlL Ir.* ' -"巴 rwitifl dr '甘*1 Nars V IJ X 卜 H j * * £ J* di H 严I pp FTrPTTRX -一 S ,f-«I.- 二 n Ui*HT M .TfFi號审-卯、氓轄戟f.bkq耳平,.上 U*irn* a 半-! rjic J .u d W

25、B 盛« -lI 1 丽 R 12怦-境;3脱电* bo严彳钿,i q丹 声十斗El t卜.-+bH TRrlh fkri 1G*:®!沖VIE LETinvaAr 4 MB - h ipnsEWT.biTiiiifc n _ w i 他iPjiM KHi Ic"ulh hTl * *11 NI Tivlh 旺n ! »! dW5e =r-MhrUBi.1 rffg> -J- +IFlI-* hF-rliEV*- - Hi*才灯齐亍巧uri-v+M ri戶Hn*A>T4 眄V iMHi; T HRllT/fBil I Mif Bi I 、a他

26、*订f申w-utyih计讣iTvnno £«h?i!aIII PHIH Rfr * awrtTilWr "5 Zn* Nr*, jWvi-I liuiM.K =-|'邛Eli(4)显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;Shell命令:./hdfs dfs -ls -h text.txtJava代码:import org.a pache.hado op.conf.Con figuratio n;import org.a pache.hado op. fs.*;import java.io.*;实验2熟悉常用的HDFS操作实验手册主讲

27、教师:刘斌第9页import java.text.Si mp leDateFormat;public class HDFSA pi /*显示指定文件的信息*/p ublic static void ls(C on figurati on conf, Stri ng remoteFile Path) throws lOExce pti on FileSystem fs = FileSystem.get(c onf);P ath remote Path = new P ath(remoteFile Path);FileStatus fileStatuses = fs.listStatus(remo

28、te Path);for (FileStatus s : fileStatuses) System.out.printin(” 路径:"+ s.getPath().toString();System.out.println(” 权限:"+ s.getPermission().toString(); System.out.println(” 大小:"+ s.getLen();/*返回的是时间戳,转化为时间日期格式Long timeSta mp = s.getModificati on Time();Sim pleDateFormatformat =HH:mm:ss&

29、quot;);Stri ng date = format.format(timeSta mp);System.out.println(” 时间:"+ date);fs.close();*/new Sim pleDateFormat("yyyy-MM-dd/*主函数*/p ublic static void main( Stri ng args) Con figurati on conf = new Con figurati on();con f.set("fs.default .n ame","hdfs:/localhost:9000"

30、;);Stri ng remoteFile Path = "/user/hado op /text.txt"/ HDFS路径try System.out.printing 读取文件信息:"+ remoteFilePath);HDFSA pi .ls(co nf, remoteFile Path);System.out.printin("n 读取完成"); catch (Exce pti on e) e.prin tStackTrace(); li*H Irt虽匕F 9. >c«n>c=旨E" | C uv a B

31、- J 审Tub r F 耳 * J *fcP "J R T HKWfriMTth MWnThr . Zv-hIf I.b-MJTflBy T 注EiEAQf皿- mI* j nn Ll.i 匚 卜 H Mb 十 JT i' ? |MIF - a=rwio7B>j nf-J-_c.4i rd 丸,* h>l i .* i H «V-U-| 3t I E|.E<- «r % kk; W 制.* - Mimr-I.'! fr . 卜 Lr +C'MJJK . 1“ J j I M +匚.汕甲也 0.' Jlir . 勺

32、 X J_« !j* 濟具 * nrwi-b-M -34fli r *R 卫帀1口十印吩- 0 ES-yJ. 1 :£,L U L-0STfc j-X-J F*叫 m 齐; >.丿"“'.卜為 gZ&N><1 I d h " r 口 .匚TpJ £.J 4: 0-S >1 :ir 1 h|M讨 urv-vUn- i 4 pr-说5"r rf we I 7 :4-» M' I |3 =ftE_kL uiiu fVM*;£ Jj -» iTiiV "A

33、Mi Lur首I,L*9Vfr*皆Hf - M,Fh - F I Jf-nI 町冋.1L 晉T -g- -1.-rfF"_4fWVS -vfl毁r童 14 fV - »«" MiWlurufuf vfi; Rfi wii i JFCnd I ih:叭-p4f1K< 3 2*uX L. L n - * =¥4中:ari+« 旨11科(5)给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信 息;Shell命令: ./hdfs dfs -ls -R

34、 -h /user/hado op Java代码: import org.a pache.hado op.conf.Con figuratio n; import org.a pache.hado op. fs.*;import java.io.*;import java.text.Si mp leDateFormat;public class HDFSA pi /*显示指定文件夹下所有文件的信息(递归)*/P ublic static void lsDir(C on figurati on conf. String remoteDir) throws IOExce ptio n FileSy

35、stem fs = FileSystem.get(c onf);P ath dir Path = new P ath(remoteDir);/*递归获取目录下的所有文件*/Remotelterator<LocatedFileStatus> remoteIterator = fs.listFiles(dir Path, true);/*输出每个文件的信息*/while (remotelterator.hasNextO) FileStatus s = remoteIterator. next();System.out.printin(” 路径:"+ s.getPath().t

36、oString();System.out.println("权限:"+ s.getPermission().toString();实验2熟悉常用的HDFS操作实验手册System.out.println(” 大小:"+ s.getLen();*/*返回的是时间戳,转化为时间日期格式Long timeSta mp = s.getModificati on Time();Simp leDateFormat format = newSimp leDateFormat("yyyy-MM-ddHH:mm:ss");Stri ng date = forma

37、t.format(timeSta mp);System.out.println(” 时间:"+ date);System.out. prin tl n();fs.close();/*主函数*/p ublic static void main( Stri ng args) Con figurati on conf = new Con figurati on();con f.set("fs.default .n ame","hdfs:/localhost:9000");String remoteDir = "/user/hadoop&qu

38、ot;/ HDFS 路径try System.out.printin("(递归)读取目录下所有文件的信息:"+ remoteDir);HDFSA pi.lsDir(co nf, remoteDir);System.out.println(” 读取完成"); catch (Exce pti on e) e.prin tStackTrace();主讲教师:刘斌第10页实验2熟悉常用的HDFS操作实验手册ny応=OrITZ1 a iiu J -M 'rAp* JH1r 7- g / '-跖p * 冲_ A* i KM :酊u *fcm- ifPil &#

39、39; j|iH J r-B CjtL 3'na»J>S.LXi'rri "li <,理*二 Zt-OLi:中!二五磚锻啡i E Jn rtlBlT'.m IT I土士里 页日 5 刍*性即逋-huh干卅 I"jJi -11-却irF厲2訂-»*k -«斗"主I疋二丘砖+ ri嗨- li厂 1lt=- b _-Jit!WSEKUI HI ii|-StfXKiiAiiPfrTK-U ” Lfnrrzzsaznxiu. - m = 幷* W-r S I戸lE:.-C-rr h g r fciTl巧 ys

40、u"里NsbVF*、-I P Fill 匚|-MMga存壬:疔*T尸亠 1削 EE<J(6)-r Jr .中 I,J "h十i I ' pp讪la.-Mgg-a Mqj''到皿Z 量-IMdI-.M .T r ?*,-厂3 K±ur< -T-vil Up? 氏r F 7 |F" 丄 Mixhaom Xi 4 匸舍ti W . 丁 i 1匡”FBfT- h P« »L4 14>+ *3R fnerS>4 屮- 二神<1 Jjir删除文件:M * Mwfx咅tEC" 貝 角衍

41、体 冃Krnh*+nh彌"" *»#*11 *ftMt|*'*H KWH - "P ,*警 h<Lj-tBWUHTWFWI K131HfO-iJt«. -Vl*1神提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;Shell命令: if $(./hdfs dfs -test -d dir1/dir2);then $(./hdfs dfs -touchz dir1/dir2/file name);else $(./hdfs dfs -mkdir -p dir1/dir2 &&

42、amp; hdfs dfs -touchz dir1/dir2/file name);fi./hdfs dfs -rm dir1/dir2/file nameJava代码: import org.a pache.hado op.conf.Con figuratio n;import org.a pache.hado op. fs.*;import java.io.*;public class HDFSA pi /*判断路径是否存在*/p ublic static boolea n test(C on figurati on conf. String p ath) throws IOExce p

43、ti on FileSystem fs = FileSystem.get(c onf);return fs.exists( new P ath( path);/*创建目录*/实验2熟悉常用的HDFS操作实验手册p ublic static boolea n mkdir(C on figurati on conf, String remoteDir) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);P ath dir Path = new P ath(remoteDir);boolea n result = fs.mkdirs

44、(dirPath);fs.close();return result;/*创建文件*/p ublic static void touchz(C on figuratio n conf, String remoteFile Path) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);P ath remote Path = new P ath(remoteFile Path);FSDataOut putStream out pu tStream = fs.create(remote Path);out pu tStream.cl

45、ose();fs.close();/*删除文件*/p ublic static boolea n rm(C on figurati on conf, String remoteFile Path) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);P ath remote Path = new P ath(remoteFile Path);boolea n result = fs.delete(remote Path, false);fs.close();return result;/*主函数*/p ublic static

46、void main( Stri ng args) Con figurati on conf = new Con figurati on();con f.set("fs.default. name","hdfs:/localhost:9000");String remoteFilePath = "/user/hadoop/input/text.txt"/ HDFS 路径String remoteDir = "/user/hadoop/input"/ HDFS 路径对应的目录try */*判断路径是否存在,存在则删除,

47、否则进行创建if ( HDFSA pi.test(co nf, remoteFile Path) ) HDFSA pi.rm(co nf, remoteFile Path); / 删除System.out.println("删除路径 :"+ remoteFilePath);主讲教师:刘斌第12页实验2熟悉常用的HDFS操作实验手册若目录不存在,则进行创建 else if ( !HDFSA pi .test(co nf, remoteDir) ) /HDFSA pi.mkdir(co nf, remoteDir);System.out.printing 创建文件夹:"

48、;+ remoteDir);HDFSA pi .touchz(co nf, remoteFile Path);System.out.println(” 创建路径:"+ remoteFilePath); catch (Exce pti on e) e.prin tStackTrace();r-1 TP I ;r晋 o W LiKMHWPH* t*«*M*-.L < WMthl¥=h* . WW*W«>* d V理F liUR® > .ouimDatUKMI 卿£J.* -i 4M a* :壮3想* X- FCtzwMr

49、-ii*nff-二artiq L押.:M&N,4ttMMw4fe4 - J -*Y I* -» > jir.*tniaili>f-RF -t iiiHiiMiiiiitfrf L 士;则"4 9對畀屉p " miEFil 屮 aa 映tP V !* - dtf Q 盲xs* ffr I ppi、.4.辱吕巴 *rv 丘Id三 匸,讦 Eh Erb'疋"阮 皆 G-vf;; 一仁 jiN Kwr*n4M4vMr-',-宀叶 j" cw 心 即厂p 吟i十 .厂W4U* - y十.;“".-1:FSJZ

50、 .口哗 I* «7' Bn*I 1IHplH-i !i*iihr#v 口riif i* '(hr» 叶*Tt+P f>| rut i.*i' wlU*H由*cb屯-化*.EMri云 V* yff,aiF <IL ' .|pB电匚沪,3Mb-F- F* ;& 巧iMj-rnT hkrs -htc I'K bU 电芒rm-« “vh审八 fHAh# i討 LR -r-彳 壬;壹爾F沖 Siem4-, .d I 事« F _n it-3=>R7Wjt; :-3 -H曲"th切半酸直此

51、制 w4*. h 1- 电i iCPfJifHi, L«4fr iwrfs- j I - ;:nik 利呼iBiiihi下£M耳K -iWMFVCCJ pn5w>Tm(7)提供一个HDFS的目录的路径,对该目录进行创建和删除操作。创建目录时,如果目录文件所在目录不存在则自动创建相应目录;删除目录时,由用户指定当该目录不为空时是否还删除该目录;Shell命令:创建目录:./hdfs dfs -mkdir -p dir1/dir2删除目录(如果目录非空则会提示not empty,不执行删除):./hdfs dfs -rmdir dir1/dir2强制删除目录:./hdfs

52、 dfs -rm -R dir1/dir2Java代码:import org.a pache.hado op.conf.Con figuratio n;import org.a pache.hado op. fs.*;import java.io.*;实验2熟悉常用的HDFS操作实验手册public class HDFSA pi /*判断路径是否存在*/p ublic static boolea n test(C on figurati on conf, String p ath) throws IOExce pti on FileSystem fs = FileSystem.get(c on

53、f);return fs.exists( new P ath( path); /*判断目录是否为空* true:空,false:非空*/p ublic static boolea n isDirE mp ty(C on figurati on conf, String remoteDir) throws IOExce pti onFileSystem fs = FileSystem.get(c onf);P ath dir Path = new P ath(remoteDir);Remotelterator<LocatedFileStatus> remoteIterator = f

54、s.listFiles(dir Path, true); return !remotelterator.hasNext();/*创建目录*/p ublic static boolea n mkdir(C on figurati on conf, String remoteDir) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);P ath dir Path = new P ath(remoteDir);boolea n result = fs.mkdirs(dirPath);fs.close();return result;

55、/*删除目录*/p ublic static boolea n rmDir(C on figurati on conf, String remoteDir) throws IOExce pti on FileSystem fs = FileSystem.get(c onf);P ath dir Path = new P ath(remoteDir);*/*第二个参数表示是否递归删除所有文件boolea n result = fs.delete(dir Path, true);fs.close();return result;/*主函数*/P ublic static void main( Stri ng args) Con fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论