使用java如何读取客户端的文件和文件夹 5C

使用java如何读取客户端的文件和文件夹,前提是不用装ftp,因为ftp叫用户装比较啰嗦,曾用过共享文件夹的方式,但后来发现,要在同一网段才可以,一个局域网不行,还有没有其它的方法呢。因为用户不想上传,想自动同步文件至服务器。

9个回答

使用java如何读取客户端的文件和文件夹。前提是计算机不能开。因为用户怕费电。还有什么办法?

qq_31829561
qq_31829561 不要瞎bb,谢谢
2 年多之前 回复
flonny
精锐小菜鸡 客户端所在计算机不开机??这你妹的ip不可达,C/S通讯也会断掉
2 年多之前 回复

使用java如何读取客户端的文件和文件夹?前提是不写任何代码。因为写代码对我来说比较费力。还有没有别的方法,因为我不想写程序。想使用java如何读取客户端的文件和文件夹。

janeswood
janeswood 好像都很聪明,过头了吧!!!!!!!!!!!!!!!!!!!!
6 个月之前 回复
dabocaiqq
穷在人世中少你左右我想我连什么价值也没有 回复qq_31829561: 滴,您的智商以欠费。下车。
2 年多之前 回复
qq_31829561
qq_31829561 不要瞎BB,谢谢
2 年多之前 回复
flonny
精锐小菜鸡 到底谁在提问。。
2 年多之前 回复

现在有这样一个需求:服务器A(用Tomcat服务器搭建的)、客户端B,现在客户端B想把服务器端A下的一个文件夹下的所有文件都下载下来,请问应该如何实现。

qq_31829561
qq_31829561 你的这个的话,如果不借助可以访问客户端权限的工具,一般用下载的形式了,采用压缩流将文件夹打包下载
2 年多之前 回复

这是不可能的吧,不论怎么样必然是在进行通讯才能同步的。如果只自己用java的话大致就是File类读取路径,IO流进行文件的传输。和FTP是一样的,这种情况就相当于你自己写一个FTP,那么为何使用别人写好的!

qq_31829561
qq_31829561 我也想用哇,客户的需求你又不是不知道,我只是个敲代码的~~~
2 年多之前 回复

前端定时器定时上传用户固定目录下的文件,但是这样对用户不太友好,最好是给个按钮让用户手动触发再读取文件上传

SpringMVC 很详细request里都有

C/S吗,服务器不可能直接访问客户端所在电脑资源,要么客户端达到什么条件自动发送想要的资源给服务器,要么在客户端所在主机装一个rpc服务,然后服务器调用相应方法让rpc服务提交资源到服务器

flonny
精锐小菜鸡 回复qq_31829561: Apache Thrift框架很好用,可以用c写一个rpc服务端打包成exe,然后客户通过url请求这个rpc程序下载安装
2 年多之前 回复
qq_31829561
qq_31829561 可以试一试,看rpc的安装和ftp那个没那么麻烦
2 年多之前 回复

如果是b/s结构。建议用HTML5的FileReader,然后异步提交请求道后台。

c/s结构可直接读取客户端文件

qq_31829561
qq_31829561 bs的,你那样的方式只能加到内存上
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java程序,服务器读取用户本地文件

需要做一个读取excle表格内容实现查询,可不可以不上传到服务器,直接读取用户本地文件呢。

java或者js有没有办法直接或者间接地获取客户端本地的图片文件?

就是我现在遇到一个难题,客户端是第三方的SDK插件配合我的java,定时产生一定的图片, 存放在客户端本地的路径文件夹,没有传到我这边的服务器上,我尝试过用js,通过浏览器, 来获取,但是不行,只有低版本的IE有个不安全的插件可以做到,但是高版本的IE又不兼容了, 火狐、谷歌那些浏览器暂时找不到类似的插件,我是想,有没有办法让代码去扫描客户端的文件夹获取文件?求助大神

JAVA中在使用Socket从客户端项服务端传文件时,程序阻塞在获取Socket套接字输入流那一行是为什么?

这样写会阻塞在下面那一行,而调整位置后成功时什么问题,在我的理解中这一行的声明只要出现在使用之前就可以了。望解答,感谢 客户端上传文件程序 ``` Socket socket = new Socket("127.0.0.1", 8888); File file = new File("D:\\1610\\android素材\\bg04.jpg"); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); **ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());** //阻塞在这一行?我把这一行放在下面时该程序就运行成功,这之间有什么关系吗?希望大神解答,感谢!!!! System.out.println(file.getName()); oos.writeUTF(file.getName()); oos.writeLong(file.length()); byte[] arr = new byte[1024]; int len; while((len = bis.read(arr)) != -1){ oos.write(arr,0,len); oos.flush(); } // 上面那一行放在该位置 System.out.println("1111"); if(ois.readUTF().equals("下载成功")){ System.out.println("文件上传成功"); ois.close(); oos.close(); bis.close(); socket.close(); } ``` 服务端接受文件代码块 ``` ServerSocket serverSocket = new ServerSocket(8888); System.out.println("服务器已启动..."); while (true) { Socket socket = serverSocket.accept(); ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); //这个位置 String fileName=ois.readUTF(); long extent = ois.readLong(); System.out.println(extent); File file = new File("D:/TestFile"); if (file.isDirectory()) { System.out.println("文件夹已存在"); } else { file.mkdirs(); } BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file.getAbsolutePath() +"/"+ fileName)); BufferedWriter bw = new BufferedWriter(new FileWriter("down.log",true)); _**ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());**_//或者是我把这一行放在上面位置也能成功 byte[] arr = new byte[1024]; int len; long total = 0; while ((len = ois.read(arr)) != -1) { bos.write(arr, 0, len); total += len; bw.write("当前已下载" + (total * 100) / extent + "%" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); bw.newLine(); bw.flush(); if (total == extent) { oos.writeUTF("下载成功"); break; } } System.out.println("下载成功"); oos.close(); bw.close(); bos.close(); ois.close(); socket.close(); } ```

java 如何在服务器上直接打开存在本地的文件。

如何在服务器上直接打开存在本地的文件,文件类型不限。文件只在自己的电脑上,不在服务器上,在网页上面弄个链接或button,直接点击就可打开本地文件。不用上传与下载。 如下几种方式只支持自己的电脑上,不知道有哪们高手能有什么好的方法在不同电脑上时打开自己电脑中的文件 //方法一 Desktop.getDesktop().open(new File("c:\\SZP5.sql")); //方法二 String filename = "c:\\SZP2.sql"; File f = new File(filename); Runtime runtime = Runtime.getRuntime(); //System.out.println(f.getAbsolutePath()); runtime.exec("rundll32 url.dll FileProtocolHandler "+f.getAbsolutePath()); //方法三 Runtime r=Runtime.getRuntime(); String[] cmd = new String[3]; cmd[0]="cmd"; cmd[1]="/c"; cmd[2]="start c:\\kenward.msg"; r.exec(cmd);

使用eclipse用TCP协议创建服务器和客户端,从客户端向服务器传文件

服务器代码: package com.xfr.test; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class Test2_UpLoadServer { /**  * @param args  * @throws IOException   */ public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(6666); //创建服务器,绑定端口号777 System.out.println("启动服务器,端口号为6666!!!"); while(true){ final Socket socket = server.accept();  //接收客户端的请求,有可能接收多个客户端的请求,所以用多线程 new Thread(){ public void run(){ try { InputStream  is = socket.getInputStream(); //拿到客户端的流 BufferedReader br = new BufferedReader(new InputStreamReader(is)); //用Buffer缓冲区更好读取 PrintStream ps = new PrintStream(socket.getOutputStream()); //用PrintStream的好处是可以写字符也可以写字节 String fileName = br.readLine();//接收到要上传的文件的名字 File dir = new File("upload"); //创建一个文件夹来存放文件 dir.mkdir(); File file = new File(dir,fileName); //对文件名字进行封装来进行判断操作 if(file.exists()){ ps.println("存在"); //若文件在服务器中存在,给与客户端提示 socket.close(); }else{ //文件在服务器中没有,则开始接收 FileOutputStream fos = new FileOutputStream(file); byte[] arr = new byte[8192]; int len; while(( len = is.read(arr)) != -1){ fos.write(arr, 0, len); } fos.close(); //记得关流和关端口 socket.close(); } } catch (IOException e) { e.printStackTrace(); } } }.start(); } } } 客户端代码: package com.xfr.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class Test2_UploadClient { /**  * 向服务器上传文件,文件路径从键盘获取  * @param args  * @throws IOException   * @throws UnknownHostException   */ public static void main(String[] args) throws UnknownHostException, IOException { Socket socket = new Socket("169.254.33.252",6666);//创建客户端 File file = getFile();//获取文件 BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream ps = new PrintStream(socket.getOutputStream()); ps.println(file.getName()); //将文件名字传给服务器,服务器再对其进行判断 String result = br.readLine(); if("存在".equals(result)){ System.out.println("该文件在服务器中已经存在,请不要重复上传!"); socket.close(); return; } else { //文件不存在的话,开始读取该文件 FileInputStream fis = new FileInputStream(file); byte[] arr = new byte[8192];  int len; while((len = fis.read(arr)) != -1){ ps.write(arr, 0, len);//向服务器传 } fis.close(); socket.close();//F:\Test\aaa.txt } } public static File getFile() { Scanner sc = new Scanner(System.in); while(true){ String s = sc.nextLine(); File file = new File(s); if(!file.exists()){ System.out.println("您要上传的文件不存在!重新输入文件路径:"); } else if(file.isDirectory()){ System.out.println("您输入的是文件夹路径!重新输入文件路径:"); } else{ return file; } } } } ###执行后输入路径,路径正确的话程序不会停下来,红方块一直在 ![图片说明](https://img-ask.csdn.net/upload/201710/25/1508926710_596979.png) 手动点掉红方块后刷新项目 ![图片说明](https://img-ask.csdn.net/upload/201710/25/1508926743_190021.png) 可以看到eclipse当前路径多了要拷贝的文件,可是文件字节大小为0 ![图片说明](https://img-ask.csdn.net/upload/201710/25/1508926754_412742.png) 更多

java怎么实现获取服务器上的文件?

逻辑上一直想不通,我怎么能够获取不是本地服务器的资源呢,然后呈现在客户端上? 假如我目前有了相关的信息(比如说是服务器上某文件的路径),那么我要怎么根据这个信息到服务器上取然后实现在线阅读呢?html上要怎么才能触发这个action呢? 有没有大神帮我整理整理思路,懂的东西实在太少了

如何用Java语言实现两台计算机之间的文件传输?

最近新学习了Java语言,算是一个小白,想用TCP Socket进行网络编程,使得服务器端接受客户端的文件,但是遇到了一个错误,有人知道该怎么解决吗? ``` //这是服务器端的代码 public class UploadServer { public static void main(String[] args) { System.out.println("服务器端运行..."); try { //创建一个ServerSocket监听8080端口的客户端请求 ServerSocket serverSocket = new ServerSocket(8080); //使用accept()阻塞当前线程,等待客户端请求 Socket socket = serverSocket.accept(); //由Socket获得输入流,并创建缓冲输入流 BufferedInputStream in = new BufferedInputStream(socket.getInputStream()); //由文件输出流创建缓冲输出流 FileOutputStream out = new FileOutputStream("G:\\站点\\新建文本文档.txt"); //创建一个缓冲区 byte[] buffer = new byte[1024]; //首次向Socket读取数据 int len = in.read(buffer); while (len != -1) { //写入数据到文件 out.write(buffer, 0, len); //再次从Socket读取数据 len = in.read(buffer); } System.out.println("接收完成!"); } catch (IOException e) { e.printStackTrace(); } } } ``` ``` //这是客户端的代码 public class UploadClient { public static void main(String[] args) { System.out.println("客户端运行..."); try { //向非本机的8080客户端发出请求 Socket socket = new Socket("192.168.0.106",8080); //由Socket获得输出流,并创建缓冲输出流 BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream()); //创建文件输入流 FileInputStream fin = new FileInputStream("F:\\站点\\新建文本文档.txt"); //由文件输入流创建缓冲输出流 BufferedInputStream in = new BufferedInputStream(fin); //准备一个缓冲区 byte[] buffer = new byte[1024]; //首次读取文件 int len = in.read(buffer); while(len != -1) { //数据写入Socket out.write(buffer,0,len); //再次读取文件 len = in.read(buffer); } System.out.println("上传成功!"); } catch(ConnectException e) { System.out.println("服务器未启动!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 先运行服务器端,在运行客户端 客户端显示: ![图片说明](https://img-ask.csdn.net/upload/202007/02/1593676437_705819.png) 服务器端显示: ![图片说明](https://img-ask.csdn.net/upload/202007/02/1593676506_871370.png) 服务器端的第27行是 int len = in.read(buffer); 该如何处理这个异常呢,求解!!!

java关于从linux服务器里通过FTPClienet下载文件及文件夹的方法

新人菜鸟一枚,不会下载文件夹以及文件夹里的内容,求指导!现在自己只做到了文件的下载,但是文件夹不会,配置文件里写的是访问ftp服务器的ip,端口,用户名密码以及服务器的路径和下载后存放的位置路径。 import java.io.IOException; import java.net.SocketException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import org.apache.log4j.Logger; public class FTPUtil { private static Logger logger = Logger.getLogger(FTPUtil.class); /** * 获取FTPClient对象 * * @param ftpHost * FTP主机服务器 * @param ftpPassword * FTP 登录密码 * @param ftpUserName * FTP登录用户名 * @param ftpPort * FTP端口 默认为21 * @return */ public static FTPClient getFTPClient(String ftpHost, String ftpPassword, String ftpUserName, int ftpPort) { FTPClient ftpClient = null; try { ftpClient = new FTPClient(); ftpClient.connect(ftpHost,ftpPort);// 连接FTP服务器 ftpClient.login(ftpUserName, ftpPassword);// 登陆FTP服务器 if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) { // ftpClient.getReplyCode()返回的内容是答复的客户端代码 //logger.info("未连接到FTP,用户名或密码错误。"); System.out.println("未连接到FTP,用户名或密码错误。"); ftpClient.disconnect(); } else { System.out.println("FTP连接成功。"); } } catch (SocketException e) { e.printStackTrace(); System.out.println("FTP的IP地址可能错误,请正确配置。"); } catch (IOException e) { e.printStackTrace(); System.out.println("FTP的端口错误,请正确配置。"); } return ftpClient; } } ---------------------------------------------------------------- import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.SocketException; import java.util.Properties; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPClientConfig; import org.apache.commons.net.ftp.FTPReply; public class DownloadFileFromRmote { private static boolean downloadFileFromRmote(String ftpHost, Integer ftpPort, String ftpUserName, String ftpPassword, String ftpPath, String fileName, String writeTempFielPath) { boolean flag = false; FTPClient ftpClient = new FTPClient(); FileOutputStream fos = null; try { ftpClient.connect(ftpHost, ftpPort); ftpClient.login(ftpUserName, ftpPassword); int reply; reply = ftpClient.getReplyCode(); // 230 if (!FTPReply.isPositiveCompletion(reply)) { ftpClient.disconnect(); return flag; } File localFile = new File(writeTempFielPath + File.separator + fileName);// G:\测试路径\1.png if (!localFile.exists()) { localFile.createNewFile(); } ftpClient.setBufferSize(1024); ftpClient.setControlEncoding("UTF-8"); // 设置文件类型(二进制) ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); fos = new FileOutputStream(localFile); System.out.println(fos); ftpClient.retrieveFile(fileName, fos); flag = true; } catch (SocketException e) { System.out.println("连接失败!"); e.printStackTrace(); } catch (IOException e) { System.out.println("下载失败!"); e.printStackTrace(); } finally { try { if (fos != null) { fos.close(); } if (ftpClient.isConnected()) { ftpClient.disconnect(); } } catch (IOException e) { System.out.println("下载失败!"); e.printStackTrace(); } } return flag; } public static void main(String[] args) { int ftpPort = 0; String ftpHost = ""; String ftpUserName = ""; String ftpPassword = ""; String ftpPath = "";// FTP路径 String fileName = ""; String writeTempFielPath = ""; try { InputStream in = FTPUtil.class.getClassLoader() .getResourceAsStream("env.properties"); if (in == null) { System.out.println("配置文件env.properties读取失败"); } else { Properties properties = new Properties(); properties.load(in); ftpUserName = properties.getProperty("ftpUserName"); // 从属性文件里获取用户密码 ftpPassword = properties.getProperty("ftpPassword"); ftpHost = properties.getProperty("ftpHost"); ftpPort = Integer.valueOf(properties.getProperty("ftpPort")) .intValue(); // 端口 ftpPath = properties.getProperty("ftpPath"); fileName = properties.getProperty("fileName"); writeTempFielPath = properties.getProperty("writeTempFielPath"); System.out.println(ftpUserName + "" + ftpPassword + "" + ftpHost + "" + ftpPort + "" + ftpPort + "" + ftpPath); downloadFileFromRmote(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, fileName, writeTempFielPath); } } catch (Exception e) { e.printStackTrace(); } } }

多线程并发处理文件内容

假设一文件夹下有10000个文件,要分10个线程进行读取,分批处理Java怎么用多线程并发方法完成

java实现FTP功能的jar包导入在java文件夹的那个目录下

java实现FTP功能的jar包导入在java文件夹的那个目录下

windows下用多线程获取某个目录下的所有文件,并将其文件信息显示出来

新手,刚学习多线程,想要实现这样一个功能,请问有推荐的书籍或技术博客吗?还有这个功能大概要怎么实现?

多人操作同一个文件是给文件加锁好还是每次操作将文件多复制几份好?

业务场景:一个模板文件,每个人进入操作下载的内容都会不同,每次需要对模板文件进行操作,是每次下载前复制一份,对复制的文件进行操作好,还是对文件加上读写的锁好?

关于java调用cmd执行批处理和获取控制台输出的问题

``` package cn.zjcscut.compile.cmd; import cn.zjcscut.compile.cmd.util.ClassUtils; import cn.zjcscut.compile.cmd.util.StreamGobbler; import cn.zjcscut.freemarker.classUtils.ClassLoader; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.io.*; /** * @author zjc * @version 2016/7/15 23:09 * @function */ public class DynamicCompileWithCmd { private static final Logger log = LogManager.getLogger(DynamicCompileWithCmd.class); private static final String SAVEPATH = ClassLoader.getUserDir() + "/bin/source/"; private static final String CLASSSUFFIX = ".java"; private static final String BATSUFFIX = ".bat"; private String className; private String result; public void save(String content) { className = ClassUtils.getClassNameFromSourceCode(content); if (StringUtils.isEmpty(className)) { log.error("获取类名失败,估计是类的结构出现异常"); throw new RuntimeException("class format error,please check it!"); } String realFile = SAVEPATH + className + CLASSSUFFIX; File file = new File(realFile); if (!file.exists()) { file.getParentFile().mkdirs(); //不存在就创建 } BufferedWriter bf = null; FileWriter fw = null; try { fw = new FileWriter(file); bf = new BufferedWriter(fw); bf.write(content); bf.close(); fw.close(); } catch (Exception e) { log.error("写入源代码生成.java文件失败"); throw new RuntimeException("create java file failed"); } finally { if (bf != null) { try { bf.close(); } catch (IOException e) { e.printStackTrace(); } } if (fw != null) { try { fw.close(); } catch (IOException e) { e.printStackTrace(); } } } } private String createBatFile(String className) { String realFile = SAVEPATH + className + BATSUFFIX; File file = new File(realFile); if (!file.exists()) { file.getParentFile().mkdirs(); //不存在就创建 } String compile = "javac " + className + CLASSSUFFIX + " \n"; String cd = "cd " + SAVEPATH + " \n"; String run = "java " + className + " \n"; BufferedWriter bf = null; FileWriter fw = null; try { fw = new FileWriter(file); bf = new BufferedWriter(fw); bf.write(cd + compile + run); bf.close(); fw.close(); return realFile; } catch (Exception e) { log.error("写入bat文件失败"); throw new RuntimeException("create bat file failed"); } finally { if (bf != null) { try { bf.close(); } catch (IOException e) { e.printStackTrace(); } } if (fw != null) { try { fw.close(); } catch (IOException e) { e.printStackTrace(); } } } } private static Process process;//执行子进程 public String execute(String content) { save(content); String batName = createBatFile(className); Runtime runtime = Runtime.getRuntime(); BufferedWriter bw = null; try { // Thread.sleep(1000); //防止cmd.exe程序未启动,当然也可以直接使用javac命令 // bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream())); // String compile = "javac " + SAVEPATH + className + CLASSSUFFIX + " \n"; // String run ="java " + SAVEPATH + className + " \n"; long startFreeMemory = runtime.freeMemory(); //记录开始执行命令前的空闲内存 long startCurrentTime = System.currentTimeMillis(); // bw.write("java " + SAVEPATH + className + " \n"); // bw.write(compile + " & " + run); // bw.flush(); // bw.close(); // "cmd.exe /C start /b " process = runtime.exec("cmd.exe /C start /b " + batName); //合并流 SequenceInputStream sis = new SequenceInputStream(process.getInputStream(),process.getErrorStream()); InputStreamReader isr = new InputStreamReader (sis, "GBK"); BufferedReader br = new BufferedReader(isr); String line = null; while (null != ( line = br.readLine () )) { System.out.println (line); } process.destroy (); br.close (); isr.close (); process.waitFor(); int sign = process.exitValue(); if (sign == 0) { System.out.println("执行成功"); } else { System.out.println("执行失败"); } // StreamGobbler outGobbler = new StreamGobbler(process.getInputStream(), "STDOUT"); // Thread thread1 = new Thread(outGobbler); // thread1.start(); // new Thread(new Runnable() { // @Override // public void run() { // try { // // String s = null; // BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); // while ((s = br.readLine()) != null) { // System.out.println(s); // result += s; // } // } catch (java.lang.Exception e) { // e.printStackTrace(); // } // } // }).start(); // // new Thread(new Runnable() { // @Override // public void run() { // try { // // String s = null; // BufferedReader br = new BufferedReader(new InputStreamReader(process.getErrorStream())); // while ((s = br.readLine()) != null) { // System.out.println("error -- " + s); // } // } catch (java.lang.Exception e) { // e.printStackTrace(); // } // } // }).start(); // StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "ERROR"); // Thread thread = new Thread(errorGobbler); // thread.start(); // Thread thread = new Thread(new RuntimeResultThread()); // thread.start(); // String s = null; // BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); // while ((s = br.readLine()) != null) { // System.out.println(s); // result += s; // } // // br.close(); // System.out.println(batName); // InputStream in = process.getInputStream(); // // int c; // while ((c = in.read()) != -1) { // System.out.print("输出---" + c);//如果你不需要看输出,这行可以注销掉 // } // in.close(); //获取控制台输出结果 // Thread thread = new Thread(new RuntimeResultThread()); // thread.start(); long endCurrentTime = System.currentTimeMillis(); long endFreeMemory = runtime.freeMemory(); double useMemory = (startFreeMemory - endFreeMemory) / 1024; long useTime = endCurrentTime - startCurrentTime; result += "\n\ncost time : " + useTime + " ms" + ", cost memory : " + useMemory + " mb"; return result; } catch (Exception e) { e.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } return null; } private class RuntimeResultThread implements Runnable { @Override public void run() { BufferedReader br = null; String content = null; try { br = new BufferedReader(new InputStreamReader(process.getInputStream(), "GBK")); while ((content = br.readLine()) != null) { System.out.println("content" + content); result += content; } br.close(); } catch (Exception e) { log.error("获取控制台输出失败"); e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } } } } ``` 上边的代码是为了实现动态编译和执行输入的java源码,原理是先把.java和bat文件输出到工作目录下的一个文件夹,调用cmd编译.java文件,再执行.class。现在出现一个问题,就是获取控制台输出的时候总是阻塞,google这个问题说是process的getErrorStream缓冲没有清空,导致一直阻塞,需要使用多线程操作,但是用了多线程发现,process的getInputStream部分信息丢失了。 ![图片说明](https://img-ask.csdn.net/upload/201607/16/1468647055_939794.png) 想请教有什么解决方法 ?

ftp 用FTPClient上传图片显示成功,但是是0kb,

File Zilla拖拽就有大小的,能正常访问 FTPClient ftpClient = new FTPClient(); ftpClient.connect("192.168.159.128", 21); //2、登录ftp服务器 ftpClient.login("ftpuser", "123456"); //3、读取本地文件 FileInputStream inputStream = new FileInputStream(new File("E:\\asd\\hhh.jpg")); //4、上传文件 //1)指定上传目录 ftpClient.changeWorkingDirectory("/home/ftpuser/www/images"); //2)指定文件类型 ftpClient.setFileType(FTP.BINARY_FILE_TYPE); //第一个参数:文件在远程服务器的名称 //第二个参数:文件流 ftpClient.storeFile("h1.jpg", inputStream); //5、退出登录 /*inputStream.close(); ftpClient.logout();*/

关于简单的ftp读取服务器信息读取不了的问题

部分客户端 ckage FTPSERVE;import java.io.*;import java.net.*;public class FTPClient { public static void main(String[] args) throws IOException{ Socket socket = new Socket("127.0.0.1", 3030); Socket dataSocket = null; BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); String response = reader.readLine();//收取来自服务器的连接成功消息 System.out.println(response); BufferedReader sin = new BufferedReader(new InputStreamReader(System.in)); String command=null; boolean flag=true; while(true){ System.out.println("input:"); command=sin.readLine(); writer.println(command); writer.flush(); response=reader.readLine(); System.out.println("来自服务器:"+response); if(response.startsWith("230")) break; } while(true){ System.out.println("开启:pasv"); command=sin.readLine(); writer.println(command); writer.flush(); response=reader.readLine(); System.out.println("来自服务器:"+response); if(response.startsWith("227")) break; } String[] info=response.split(","); int port_high=Integer.parseInt(info[4]); int port_low=Integer.parseInt(info[5]); dataSocket=new Socket("127.0.0.1",port_high*256+port_low); System.out.println("dataSocket: "+dataSocket.getLocalPort()); //从数据端口中接收数据 while(flag){ System.out.println("输入命令:"); command=sin.readLine(); if(command.toUpperCase().startsWith("LIST")) {writer.println(command); writer.flush(); response=reader.readLine(); System.out.println("来自服务器:"+response); BufferedReader br = new BufferedReader(new InputStreamReader(dataSocket.getInputStream())); String rs = br.readLine(); while(rs!=null){ System.out.println("来自服务器:"+rs); } response=reader.readLine(); System.out.println("来自服务器:"+response); } 部分服务器 if(command.toUpperCase().startsWith("LIST")){ if(tempsocket==null){ pw.println("请打开被动模式连接数据端口!"); pw.flush(); } else{ list(tempsocket); continue; } } //设置用户的工作目录,即上传和下载文件的位置 private void list(Socket tempsocket) { System.out.println("("+UserName+") ("+clientIp+")> LIST"); try{ pw.println("150 Opening data channel for directory list."); pw.flush(); System.out.println("("+UserName+") ("+clientIp+")> 150 Opening data channel for directory list."); PrintWriter pwr = null; try { pwr= new PrintWriter(new OutputStreamWriter(tempsocket.getOutputStream())); FtpUtil.getDetailList(pwr, dir); } catch (IOException e) { e.printStackTrace(); } try { tempsocket.close(); pwr.close(); } catch (IOException e) { e.printStackTrace(); } pw.println("226 Transfer OK"); pw.flush(); System.out.println("("+UserName+") ("+clientIp+")> 226 Transfer OK"); } catch (Exception e){ pw.println("503 Bad sequence of commands."); pw.flush(); System.out.println("("+UserName+") ("+clientIp+")> 503 Bad sequence of commands."); e.printStackTrace(); } } class FtpUtil { public static void getDetailList(PrintWriter pw, String path){ System.out.println("获取目录中……"); File dir = new File(path); if (!dir.isDirectory()) { System.out.println("500 No such file or directory./r/n"); pw.println("500 No such file or directory./r/n"); } File[] files = dir.listFiles(); pw.println("total:" + files.length); System.out.println("total:" + files.length); pw.println(); pw.flush(); String modifyDate; for (int i = 0; i < files.length; i++) { modifyDate = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss") .format(new Date(files[i].lastModified())); if (files[i].isDirectory()) { pw.println("drwxr-xr-x ftp ftp 0 " + modifyDate + " " + files[i].getName()); pw.println(); System.out.println("drwxr-xr-x ftp ftp 0 " + modifyDate + " " + files[i].getName()); } else { pw.println("-rw-r-r--1 ftp ftp " + files[i].length() + " " + modifyDate + " " + files[i].getName()); pw.println(); System.out.println("-rw-r-r--1 ftp ftp " + files[i].length() + " " + modifyDate + " " + files[i].getName()); } pw.flush(); } } } 问题是当我输入list时,服务器端会显示出文件列表,但是在客户端显示不出任何,百度了,但是没有解决,,,

安卓开发中使用FileInputStream一直报错提示找不到文件或不存在

大佬们好。 我是想实现一下安卓客户端向服务器上传图片的功能,但是在客户端使用FileInputStream获取文件流的时候一直会报错,提示java.io.FileNotFoundException,可是我的文件路径是从相册中选择出来的应该没有错呀,而且我直接用绝对路径试过了也不对,我怀疑是因为我小白有地方不懂,然后路径弄错了,请求大家给点建议,谢谢! 代码: ![图片说明](https://img-ask.csdn.net/upload/201901/19/1547878023_677593.png) 报错: ![图片说明](https://img-ask.csdn.net/upload/201901/19/1547877982_114288.png)

sftp错误 找不到文件

sublime text3装了SFTP 服务器是centos 配置环境是LNMP 装了pureftpd 设置的ftp 的路径是/home/wwwroot/default/basic 正常用flashftp可以连接,可以上传可以下载 用sublime 的话出现Validating remote folder "/home/wwwroot/defalut/basic/" .... failure (Folder not found) Initial folder and contents:

当输出0000000000000后停止运行要如何处理?

如下代码: String url = "http://www.xxx.com/xxx/downloadFile/" + filename + "." + format; loadQianURL("Desktop",url); /** * 文件或文件夹不存在则创建 * @param dir 文件夹 * @param filepath 文件名 */ public static void createDirFile(String dir){ File file = new File(dir); if(!file.exists()){ file.mkdirs(); } } /** * @param dir 子目录 * @param fileUrl 图片链接 * @return */ public static String loadQianURL(String dir,String fileUrl) { //获取文件名,文件名实际上在URL中可以找到 String fileName = fileUrl.substring(fileUrl.lastIndexOf("/")+1,fileUrl.length()); //这里服务器上要将此图保存的路径 String savePath = "D:/upload/"; if (!StringUtils.isEmpty(dir)){ savePath = savePath +dir+"/"; } createDirFile(savePath); try { /*将网络资源地址传给,即赋值给url*/ URL url = new URL(fileUrl); /*此为联系获得网络资源的固定格式用法,以便后面的in变量获得url截取网络资源的输入流*/ HttpURLConnection connection = (HttpURLConnection)url.openConnection(); //服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); System.out.println("0000000000000000000000000000"); DataInputStream in = new DataInputStream(connection.getInputStream()); System.out.println("111111111111111111111111111111"); /*此处也可用BufferedInputStream与BufferedOutputStream*/ DataOutputStream out = new DataOutputStream(new FileOutputStream(savePath+fileName)); /*将参数savePath,即将截取的图片的存储在本地地址赋值给out输出流所指定的地址*/ byte[] buffer = new byte[4096]; int count = 0; /*将输入流以字节的形式读取并写入buffer中*/ while ((count = in.read(buffer)) > 0) { out.write(buffer, 0, count); } out.close();/*后面三行为关闭输入输出流以及网络资源的固定格式*/ in.close(); connection.disconnect(); //返回内容是保存后的完整的URL /*网络资源截取并存储本地成功返回true*/ return savePath+fileName; } catch (Exception e) { System.out.println(e + fileUrl + savePath); return null; } } 运行结果:2019-10-22 16:43:55.545 2f1aa58b I: 0000000000000000000000000000 java.io.FileNotFoundException: http://www.xxx.com/xxx/downloadFile/1二维码.png 输出0000000000000后停止运行要如何处理?

pgjdbc数据库的ssl证书验证源码有几点不懂的地方

postgresql 数据库用证书验证,看了一下源码,但是ssl证书验证有几点不懂的地方. 下面是pgjdbc获取完数据库的连接后, 开始启用ssl证书验证的流程. 我的问题: 过程我都看明白了, 但是不知道为什么它要这么做, 还是说这是个标准, 有人可以帮我讲解一下,或者给点资料参考也行, 谢谢 为了保持代码的简洁性,代码有删减. ``` private PGStream enableSSL(PGStream pgStream, SslMode sslMode, Properties info, int connectTimeout) throws IOException, PSQLException { // 发送SSL请求包 pgStream.sendInteger4(8);//发送一个4字节的整数到后端。 pgStream.sendInteger2(1234);//发送一个2字节整数(短)到后端。 pgStream.sendInteger2(5679); pgStream.flush();//将任何挂起的输出刷新到后端。 // Now get the response from the backend, one of N, E, S. 现在从后端(N, E, S)中获取响应。 int beresp = pgStream.receiveChar();//从后端接收单个字符。 switch (beresp) { case 'S': // ssl 服务器支持ssl **org.herodbsql.ssl.MakeSSL.convert(pgStream, info);** return pgStream; } } ``` 上面可以看到,jdbc给数据库发了几个字节的整数, 然后获取响应,走不同的switch,但是不知道为什么这么做,接着进去看,convert方法 ``` public static void convert(PGStream stream, Properties info) throws PSQLException, IOException { LOGGER.log(Level.FINE, "converting regular socket connection to ssl"); **SSLSocketFactory factory = SocketFactoryFactory.getSslSocketFactory(info);** SSLSocket newConnection; // 将常规套接字连接转换为ssl newConnection = (SSLSocket) factory.createSocket(stream.getSocket(), stream.getHostSpec().getHost(), stream.getHostSpec().getPort(), true); // 我们必须手动调用,否则将隐藏异常 newConnection.setUseClientMode(true);// 设置使用客户端模式 newConnection.startHandshake();// 开始握手 stream.changeSocket(newConnection); } ``` 在看SocketFactoryFactory.getSslSocketFactory(info); ``` public static SSLSocketFactory getSslSocketFactory(Properties info) throws PSQLException {//获取Ssl套接字工厂 String classname = PGProperty.SSL_FACTORY.get(info);// 获取要使用的SSL工厂的类名 if (classname == null || "org.herodbsql.ssl.jdbc4.LibPQFactory".equals(classname) || "org.herodbsql.ssl.LibPQFactory".equals(classname)) { return new LibPQFactory(info); } } ``` 接着看 new LibPQFactory(info); 这个方法应该就是加载证书的地方 ``` public LibPQFactory(Properties info) throws PSQLException { try { SSLContext ctx = SSLContext.getInstance("TLS"); // or "SSL" ? // 确定默认文件位置 String pathsep = System.getProperty("file.separator");// 获取windows或者linux的文件夹分隔符 String defaultdir; boolean defaultfile = false; if (System.getProperty("os.name").toLowerCase().contains("windows")) { // It is Windows defaultdir = System.getenv("APPDATA") + pathsep + "herodbsql" + pathsep; // 获取指定环境变量的值。环境变量是一个依赖于系统的外部命名值。 } else { defaultdir = System.getProperty("user.home") + pathsep + ".herodbsql" + pathsep; } // Load the client's certificate and key 加载客户机的证书和密钥 String sslcertfile = PGProperty.SSL_CERT.get(info); if (sslcertfile == null) { // Fall back to default 退回到默认状态 defaultfile = true; sslcertfile = defaultdir + "herodbsql.crt"; } String sslkeyfile = PGProperty.SSL_KEY.get(info); if (sslkeyfile == null) { // Fall back to default defaultfile = true; sslkeyfile = defaultdir + "herodbsql.pk8"; } // Determine the callback handler 确定回调处理程序 CallbackHandler cbh; String sslpasswordcallback = PGProperty.SSL_PASSWORD_CALLBACK.get(info); if (sslpasswordcallback != null) { try { cbh = (CallbackHandler) ObjectFactory.instantiate(sslpasswordcallback, info, false, null); } catch (Exception e) { throw new PSQLException( GT.tr("The password callback class provided {0} could not be instantiated.", sslpasswordcallback), PSQLState.CONNECTION_FAILURE, e); } } else { cbh = new ConsoleCallbackHandler(PGProperty.SSL_PASSWORD.get(info));// 获取 sslkey的加密密码 } // If the properties are empty, give null to prevent client key selection 如果属性为空,则为null,以防止选择客户机密钥 km = new LazyKeyManager(("".equals(sslcertfile) ? null : sslcertfile), ("".equals(sslkeyfile) ? null : sslkeyfile), cbh, defaultfile);//创建lazykeymanagerduixinag TrustManager[] tm; SslMode sslMode = SslMode.of(info); if (!sslMode.verifyCertificate()) { // server validation is not required 不需要服务器验证 tm = new TrustManager[]{new NonValidatingTM()}; } else { // Load the server certificate 加载服务器证书 TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX");// 创建证书信任管理器工厂 KeyStore ks; try { ks = KeyStore.getInstance("jks");// 读取秘钥是所需要用到的工具类 } catch (KeyStoreException e) { // this should never happen throw new NoSuchAlgorithmException("jks KeyStore not available"); } String sslrootcertfile = PGProperty.SSL_ROOT_CERT.get(info);//获取根证书 if (sslrootcertfile == null) { // Fall back to default sslrootcertfile = defaultdir + "root.crt"; } FileInputStream fis; try { fis = new FileInputStream(sslrootcertfile); // 获取根证书ca的文件流 } catch (FileNotFoundException ex) { throw new PSQLException( GT.tr("Could not open SSL root certificate file {0}.", sslrootcertfile), PSQLState.CONNECTION_FAILURE, ex); } try { CertificateFactory cf = CertificateFactory.getInstance("X.509");// // 获取X.509工厂实例 // Certificate[] certs = cf.generateCertificates(fis).toArray(new Certificate[]{}); //Does // not work in java 1.4 Object[] certs = cf.generateCertificates(fis).toArray(new Certificate[]{});//生成ca证书的数组视图 ks.load(null, null); for (int i = 0; i < certs.length; i++) { ks.setCertificateEntry("cert" + i, (Certificate) certs[i]);//设置证书条目 将给定的可信证书分配给给定的别名。 } tmf.init(ks); } catch (IOException ioex) { throw new PSQLException( GT.tr("Could not read SSL root certificate file {0}.", sslrootcertfile), PSQLState.CONNECTION_FAILURE, ioex); } catch (GeneralSecurityException gsex) { throw new PSQLException( GT.tr("Loading the SSL root certificate {0} into a TrustManager failed.", sslrootcertfile), PSQLState.CONNECTION_FAILURE, gsex); } finally { try { fis.close(); } catch (IOException e) { /* ignore */ } } tm = tmf.getTrustManagers(); } // finally we can initialize the context 最后,我们可以初始化上下文 try { ctx.init(new KeyManager[]{km}, tm, null); } catch (KeyManagementException ex) { throw new PSQLException(GT.tr("Could not initialize SSL context."), PSQLState.CONNECTION_FAILURE, ex); } factory = ctx.getSocketFactory(); } catch (NoSuchAlgorithmException ex) { throw new PSQLException(GT.tr("Could not find a java cryptographic algorithm: {0}.", ex.getMessage()), PSQLState.CONNECTION_FAILURE, ex); } } ```

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

2020_五一数学建模_C题_整理后的数据.zip

该数据是我的程序读取的数据,仅供参考,问题的解决方案:https://blog.csdn.net/qq_41228463/article/details/105993051

R语言入门基础

本课程旨在帮助学习者快速入门R语言: 课程系统详细地介绍了使用R语言进行数据处理的基本思路和方法。 课程能够帮助初学者快速入门数据处理。 课程通过大量的案例详细地介绍了如何使用R语言进行数据分析和处理 课程操作实际案例教学,通过编写代码演示R语言的基本使用方法和技巧

人才招聘系统PHP+MySQL源码

PHP 5.0及以上 + MySQL 5.0及以上 开发的人才招聘系统完全可运行源码,按照操作说明简单配置即可运行。学习PHPWEB应用的完整系统程序源码。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

python可视化分析(matplotlib、seaborn、ggplot2)

python可视化分析总结(matplotlib、seaborn、ggplot)一、matplotlib库1、基本绘图命令3、图形参数设置4、特殊统计图的绘制4.1 数学函数图4.2 气泡图4.1 三维曲面图二、seaborn库1、常用统计图1.1 箱线图1.2 小提琴图1.3 点图1.4 条图与计数图1.5 分组图1.6 概率分布图2、联合图3、配对图三、ggplot库1、图层画法+常用图形2、快速绘图 一、matplotlib库 1、基本绘图命令 import matplotlib.pyplot as

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置及使用

人工智能-计算机视觉实战之路(必备算法+深度学习+项目实战)

系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以

【大总结2】大学两年,写了这篇几十万字的干货总结

本文十天后设置为粉丝可见,喜欢的提前关注 不要白嫖请点赞 不要白嫖请点赞 不要白嫖请点赞 文中提到的书我都有电子版,可以评论邮箱发给你。 文中提到的书我都有电子版,可以评论邮箱发给你。 文中提到的书我都有电子版,可以评论邮箱发给你。 本篇文章应该算是Java后端开发技术栈的,但是大部分是基础知识,所以我觉得对任何方向都是有用的。 1、数据结构 数据结构是计算机存储、...

lena全身原图(非256*256版本,而是全身原图)

lena全身原图(非256*256版本,而是全身原图) lena原图很有意思,我们通常所用的256*256图片是在lena原图上截取了头部部分的256*256正方形得到的. 原图是花花公子杂志上的一个

【项目实战】 图书信息管理系统(Maven,mybatis)(第一个自己独立完成的项目)

《程序设计综合训练实践报告》 此项目为图书信息管理系统,是一个采用了mysql+mybatis框架+java编写的maven项目

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python入门视频精讲

Python入门视频培训课程以通俗易懂的方式讲解Python核心技术,Python基础,Python入门。适合初学者的教程,让你少走弯路! 课程内容包括:1.Python简介和安装 、2.第一个Python程序、PyCharm的使用 、3.Python基础、4.函数、5.高级特性、6.面向对象、7.模块、8.异常处理和IO操作、9.访问数据库MySQL。教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

20行代码教你用python给证件照换底色

20行代码教你用python给证件照换底色

2018年全国大学生计算机技能应用大赛决赛 大题

2018年全国大学生计算机技能应用大赛决赛大题,程序填空和程序设计(侵删)

MySQL数据库从入门到实战应用

限时福利1:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利2:购课后添加学习助手(微信号:csdn590),按消息提示即可领取编程大礼包! 为什么说每一个程序员都应该学习MySQL? 根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。 使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。 学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能! 【课程设计】 在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:&nbsp; 一、基础篇: 主要以最新的MySQL8.0安装为例帮助学员解决安装与配置MySQL的问题,并对MySQL8.0的新特性做一定介绍,为后续的课程展开做好环境部署。 二、SQL语言篇: 本篇主要讲解SQL语言的四大部分数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL,学会熟练对库表进行增删改查等必备技能。 三、MySQL进阶篇: 本篇可以帮助学员更加高效的管理线上的MySQL数据库;具备MySQL的日常运维能力,语句调优、备份恢复等思路。 &nbsp;

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

Eclipse archetype-catalog.xml

Eclipse Maven 创建Web 项目报错 Could not resolve archetype org.apache.maven.archetypes:maven-archetype-web

使用TensorFlow+keras快速构建图像分类模型

课程分为两条主线: 1&nbsp;从Tensorflow的基础知识开始,全面介绍Tensorflow和Keras相关内容。通过大量实战,掌握Tensorflow和Keras经常用到的各种建模方式,参数优化方法,自定义参数和模型的手段,以及对训练结果评估与分析的技巧。 2&nbsp;从机器学习基础算法开始,然后进入到图像分类领域,使用MNIST手写数据集和CIFAR10图像数据集,从简单神经网络到深度神经网络,再到卷积神经网络,最终完成复杂模型:残差网络的搭建。完成这条主线,学员将可以自如地使用机器学习的手段来达到图像分类的目的。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

最近面试Java后端开发的感受:如果就以平时项目经验来面试,通过估计很难,不信你来看看

在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间。我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面的。 我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据面试情况来判断。 但现实情况是,大多数人可能面试前没准备,或准备方法不得当。要知道,我们平时干活更偏重于业务,不可能大量接触到算法,数据结构,底层代码这类面试必问

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

相关热词 c#对文件改写权限 c#中tostring c#支付宝回掉 c#转换成数字 c#判断除法是否有模 c# 横向chart c#控件选择多个 c#报表如何锁定表头 c#分级显示数据 c# 不区分大小写替换
立即提问
相关内容推荐