中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

怎么用 c文件做網(wǎng)站頁(yè)面關(guān)鍵詞優(yōu)化

怎么用 c文件做網(wǎng)站,頁(yè)面關(guān)鍵詞優(yōu)化,wordpress必須先登錄,北京做網(wǎng)站費(fèi)用Java大數(shù)據(jù)開發(fā)和安全開發(fā) (一)Java的文件操作1.1 Java的File和IO流概念1.2 File類的使用1.2.1 創(chuàng)建File類的對(duì)象1.2.2 常用方法1:判斷文件類型、獲取文件信息1.2.3 常用方法2:創(chuàng)建文件、刪除文件1.2.4 常用方法3:遍歷文件夾 1.3 java File的方法遞歸1.3…

Java大數(shù)據(jù)開發(fā)和安全開發(fā)

  • (一)Java的文件操作
    • 1.1 Java的File和IO流概念
    • 1.2 File類的使用
      • 1.2.1 創(chuàng)建File類的對(duì)象
      • 1.2.2 常用方法1:判斷文件類型、獲取文件信息
      • 1.2.3 常用方法2:創(chuàng)建文件、刪除文件
      • 1.2.4 常用方法3:遍歷文件夾
    • 1.3 java File的方法遞歸
      • 1.3.1 什么是方法遞歸
      • 1.3.1 方法遞歸的案列
        • 1.3.1.1 案例導(dǎo)學(xué)-計(jì)算n的階乘
        • 1.3.1.2 遞歸算法三要素
        • 1.3.1.3 猴子吃桃問題
        • 1.3.1.4 遞歸查詢目錄下的指定文件
        • 1.3.1.5 遞歸刪除目錄下的非空文件
        • 1.3.1.6 啤酒問題
    • 1.4 簡(jiǎn)單文件操作的案例

(一)Java的文件操作

1.1 Java的File和IO流概念

目前我們所講的存儲(chǔ)數(shù)據(jù)的方案都是沒有保存的數(shù)據(jù)
在這里插入圖片描述

想要長(zhǎng)久保存數(shù)據(jù)
在這里插入圖片描述
java提供了File類來操作文件

  • File是java.io.包下的類, File類的對(duì)象,用于代表當(dāng)前操作系統(tǒng)的文件(可以是文件、或文件夾)
  • 提供了多種操作文件的方法 創(chuàng)建 刪除 修改等等…

在這里插入圖片描述
注意:File類只能對(duì)文件本身進(jìn)行操作,不能讀寫文件里面存儲(chǔ)的數(shù)據(jù)

IO流
由于File類只能對(duì)文件本身進(jìn)行操作,不能讀寫文件里面存儲(chǔ)的數(shù)據(jù),所以java提供了IO流用于讀寫數(shù)據(jù)的(可以讀寫文件,或網(wǎng)絡(luò)中的數(shù)據(jù)…)

在這里插入圖片描述

1.2 File類的使用

1.2.1 創(chuàng)建File類的對(duì)象

在這里插入圖片描述

三種不同的系統(tǒng)路徑分隔符寫法

  • 1.正斜杠/寫法(推薦)
  • 2.反斜杠寫法 需要添加轉(zhuǎn)義字符\,防止類似\n被轉(zhuǎn)換成換行符
  • 3.函數(shù)File.separator 獲取系統(tǒng)指定的分隔符
        File f1 = new File("D:/resource/ab.txt");File f2 = new File("D:\\resourcellab.txt");File f3 = new File( "D:"+ File.separator +"resource" + File.separator + "ab.txt");

絕對(duì)路徑:是一個(gè)完整的、明確指定文件或目錄位置的路徑,從根目錄開始,包含了所有所需的目錄層次結(jié)構(gòu)
示例:/C:/path/to/file.txt 中,/C:/表示根目錄,path/to/是后續(xù)的目錄層次,最后指定了具體的文件file.txt。
相對(duì)路徑:相對(duì)于當(dāng)前工作目錄或其他特定基準(zhǔn)目錄的路徑,不包含從根目錄開始的完整路徑信息
示例:在/project目錄下,subdirectory/file.txt就是相對(duì)路徑

// 絕對(duì)路徑:帶盤符的File f6 = new File("D:\\codelljavasepromax|lfile-io-appl\\src itheima.txt");// 相對(duì)路徑(重點(diǎn)):不帶盤符,默認(rèn)是直接去工程下尋找文件的。File f7 = new File( "file-io-applsrcllitheima.txt");System.out.println(f4.length());

最后創(chuàng)建File類的示例代碼如下:

import java.io.File;public class FileTest {public static void main(String[] args) {// 1、創(chuàng)建一個(gè)File對(duì)象,指代某個(gè)具體的文件。// 路徑分隔符File f1 = new File("D:/resource/ab.txt");File f2 = new File("D:\\resourcellab.txt");File f3 = new File( "D:"+ File.separator +"resource" + File.separator + "ab.txt");System.out.println(f1.length());//文件大小//File對(duì)象可以指代一個(gè)目錄File f4 = new File("D:/resource"); //只是目錄文件夾本身,不包含目錄里的其他文件System.out.println(f2.length());// 注意:File對(duì)象可以指代一個(gè)不存在的文件路徑File f5 =new File("D:/resource/aaaa.txt");System.out.println(f3.length());System.out.println(f3.exists());//false// 我現(xiàn)在要定位的文件是在模塊中,應(yīng)該怎么定位呢?// 絕對(duì)路徑:帶盤符的File f6 = new File("D:\\codelljavasepromax|lfile-io-appl\\src itheima.txt");// 相對(duì)路徑(重點(diǎn)):不帶盤符,默認(rèn)是直接去工程下尋找文件的。File f7 = new File( "file-io-applsrcllitheima.txt");System.out.println(f4.length());}
}

1.2.2 常用方法1:判斷文件類型、獲取文件信息

  • File提供的判斷文件類型、獲取文件信息功能

在這里插入圖片描述

import java.io.File;
import java.text.SimpleDateFormat;public class FileTest {public static void main(String[] args) {// 1.創(chuàng)建文件對(duì)象,指代某個(gè)文件File f1 = new File( "D:/resource/ab.txt");// 2、public boolean exists():判斷當(dāng)前文件對(duì)象,對(duì)應(yīng)的文件路徑是否存在,存在返回true.System.out.println(f1.exists());// 3、public boolean isFile(): 判斷當(dāng)前文件對(duì)象指代的是否是文件,是文件返回true,反之。System.out.println(f1.isFile());// 4、public boolean isDirectory() : 判斷當(dāng)前文件對(duì)象指代的是否是文件夾,是文件夾返回true,反之。System.out.println(f1.isDirectory());// 5.public string getName():獲取文件的名稱(包含后綴)System.out.println(f1.getName());// 6.public long length():獲取文件的大小,返回字節(jié)個(gè)數(shù)System.out.println(f1.length());// 7.public long lastModified():獲取文件的最后修改時(shí)間。System.out.println(f1.lastModified());long time = f1.lastModified();SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");System.out.println(sdf.format(time));// 8.public String getPath():獲取創(chuàng)建文件對(duì)象時(shí),使用的路徑File f2 = new File( "D:\\resource\\ab.txt");File f3 = new File( "file-io-app\\src\\itheima.txt");System.out.println(f2.getPath());System.out.println(f3.getPath());// 9.public String getAbsolutePath():獲取絕對(duì)路徑System.out.println(f1.getAbsolutePath());System.out.println(f2.getAbsolutePath());System.out.println(f3.getAbsolutePath());}
}

1.2.3 常用方法2:創(chuàng)建文件、刪除文件

  • File類創(chuàng)建文件的功能

在這里插入圖片描述

  • File類刪除文件的功能

在這里插入圖片描述

**注意:delete方法默認(rèn)只能刪除文件和空文件夾,刪除后的文件不會(huì)進(jìn)入回收站**

  • 創(chuàng)建和刪除文件方法代碼示例
import java.io.File;
import java.io.IOException;public class FileTest {public static void main(String[] args) throws Exception {  //alt+回車鍵拋出異常// 1、public boolean createNewFile():創(chuàng)建一個(gè)新文件(文件內(nèi)容為空),創(chuàng)建成功返回true,反之。File f1 = new File( "D:/resource/itheima2.txt");System.out.println(f1.createNewFile());  //目錄存在就會(huì)創(chuàng)建失敗,不存在則創(chuàng)建成功  // 2、public boolean mkdir():用于創(chuàng)建文件夾,注意:只能創(chuàng)建一級(jí)文件夾File f2 = new File( "D:/resource/aaa");System.out.println(f2.mkdir());// 3、public boolean mkdirs():用于創(chuàng)建文件夾,注意:可以創(chuàng)建多級(jí)文件夾File f3 = new File( "D:/resource/bbb/ccc/ddd/eee/fff/ggg");System.out.println(f3.mkdirs());// 4、public boolean delete():刪除文件,或者空文件,注意:不能刪除非空文件夾。System.out.println(f1.delete());System.out.println(f2.delete());File f4= new File( "D:/resource");System.out.println(f4.delete()); //false 不能刪除非空文件夾}
}

1.2.4 常用方法3:遍歷文件夾

  • File類提供的遍歷文件夾的功能

在這里插入圖片描述

  • 遍歷文件夾方法代碼示例
import java.io.File;public class FileTest {public static void main(String[] args)  {// 1、public string[] list():獲取當(dāng)前目錄下所有的"一級(jí)文件名稱"到一個(gè)字符串?dāng)?shù)組中去返回。File f1 = new File( "D:/python27");String[] names = f1.list();for(String name :names) {System.out.println(name);}// 2、public File[] listFiles():(重點(diǎn))獲取當(dāng)前目錄下所有的"一級(jí)文件對(duì)象"到一個(gè)文件對(duì)象數(shù)組中去返回(重點(diǎn))File[] files = f1.listFiles();for (File file :files) {System.out.println(file.getAbsolutePath());}}
}

使用listFiles方法時(shí)的注意事項(xiàng)

  • 當(dāng)主調(diào)是文件,或者路徑不存在時(shí),返回null
  • 當(dāng)主調(diào)是空文件夾時(shí),這回一個(gè)長(zhǎng)度為0的數(shù)組
  • 當(dāng)主調(diào)是一個(gè)有內(nèi)容的文件夾時(shí),將里面所有一級(jí)文件和文件夾的路徑放在File數(shù)組中返回
  • 當(dāng)主調(diào)是一個(gè)文件夾,且里面有隱藏文件時(shí),將里面所有文件和文件夾的路徑放在File數(shù)組中返回,包含隱藏文件
  • 當(dāng)主調(diào)是一個(gè)文件夾,但是沒有權(quán)限訪問該文件夾時(shí),返回null
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Arrays;public class FileTest {public static void main(String[] args)  {// 當(dāng)主調(diào)是文件返回nullFile f= new File( "D:/resource/ab.txt");File[] files = f.listFiles();System.out.println(files);//當(dāng)主調(diào)是路徑不存在時(shí),返回nullFile f1 = new File( "D:/resource1");File[] files1 = f.listFiles();System.out.println(files1);// 當(dāng)主調(diào)是空文件夾時(shí),返回一個(gè)長(zhǎng)度為0的數(shù)組File f2 = new File( "D:/resource/aaa");File[] files2 = f.listFiles();System.out.println(Arrays.toString(files2));     }
}
null
null
[]

1.3 java File的方法遞歸

1.3.1 什么是方法遞歸

  • 算法遞歸是一種在程序設(shè)計(jì)語(yǔ)言中廣泛應(yīng)用
  • 從形式上說:方法調(diào)用自身的形式稱為方法遞歸(recursion)

遞歸的形式

  • 直接遞歸:方法自己調(diào)用自己。
  • 間接遞歸:方法調(diào)用其他方法,其他方法又回調(diào)方法自己

使用方法遞歸時(shí)需要注意的問題:

  • 遞歸如果沒有控制好終止,會(huì)出現(xiàn)遞歸死循環(huán),導(dǎo)致棧內(nèi)存溢出錯(cuò)誤
public class FileTest {public static void main(String[] args)  {// 目標(biāo):改變某個(gè)文件夾下視頻的序號(hào),要求從19開始。test1();  //出現(xiàn)棧溢出的StackOverflowError錯(cuò)誤}// 直接方法遞歸public static void test1(){System.out.println("----test1---");test1();// 直接方法遞歸  }// 間接方法遞歸public static void test2(){System.out.println("---test2---");test3();}public static void test3(){test2();// 間接遞歸}
}

在這里插入圖片描述

1.3.1 方法遞歸的案列

1.3.1.1 案例導(dǎo)學(xué)-計(jì)算n的階乘

需求

  • 計(jì)算n的階乘,5的階乘=1*2*3*4*5;6的階乘=1*2*3*4*5*6

分析

  • 假如我們認(rèn)為存在一個(gè)公式是f(n)=1*2*3*4*5*6*7*…(n-1)*n;
  • 那么公式等價(jià)形式就是:f(n)=f(n-1)*n
  • 如果求的是 1-5的階乘 的結(jié)果,我們手工應(yīng)該應(yīng)該如何應(yīng)用上述公式計(jì)算。
    f(5)= f(4) *5
    f(4)= f(3) *4
    f(3)= f(2) *3
    f(2)= f(1) *2
    f(1)= 1
public class FileTest {public static void main(String[] args)  {// 目標(biāo):改變某個(gè)文件夾下視頻的序號(hào),要求從19開始。System.out.println(f(5));}public static int f(int n) {// 終結(jié)點(diǎn)if (n == 1) {return 1;} else {return f(n - 1) * n;}}
}
120

遞歸求階乘的執(zhí)行流程
在這里插入圖片描述

1.3.1.2 遞歸算法三要素
  • 遞歸的公式:f(n)= f(n-1)*n;
  • 遞歸的終結(jié)點(diǎn):f(1)
  • 遞歸的方向必須走向終結(jié)點(diǎn):
    f(5)= f(4)*5
    f(4)= f(3)4
    f(3)= f(2)
    3
    f(2)= f(1)*2
    f(1)= 1
1.3.1.3 猴子吃桃問題
  • 猴子第一天摘下若干桃子,當(dāng)即吃了一半,覺得好不過癮,于是又多吃了一個(gè)
  • 第二天又吃了前天剩余桃子數(shù)量的一半,覺得好不過癮,于是又多吃了一個(gè)
  • 以后每天都是吃前天剩余桃子數(shù)量的一半,覺得好不過癮,又多吃了一個(gè)
  • 等到第10天的時(shí)候發(fā)現(xiàn)桃子只有1個(gè)了

需求:

  • 請(qǐng)問猴子第一天摘了多少個(gè)桃子?
public class FileTest {public static void main(String[] args)  {// 目標(biāo):猴子吃桃問題// f(10) = 1  終結(jié)點(diǎn)// 公式: f(x) - f(x)/2-1 = f(x + 1)// 變形:2f(x) - f(x) - 2 = 2f(x+1)// 變形2:f(x)= 2 * f(x +1) + 2// 求f(1)=?System.out.println(f(1));System.out.println(f(2));System.out.println(f(3));}public static int f(int x) {if (x == 10) {return 1;} else {return 2 * f(x + 1) + 2;}}
}
1534
766
382
1.3.1.4 遞歸查詢目錄下的指定文件
import java.io.File;public class FileTest {public static void main(String[] args) throws Exception {System.out.println("開始搜索文件...");searchFile(new File("D:/"),"python2.exe");System.out.println("搜索結(jié)束...");}/*** 去目錄下搜索某個(gè)文件* @param dir 目錄* @param fileName 要搜索的文件名稱*/public static void searchFile(File dir, String fileName) throws Exception {System.out.println("正在搜索目錄:" + dir.getAbsolutePath());// 1、把非法的情況都攔截住if(dir == null || !dir.exists() || dir.isFile()){System.out.println("無法搜索,目錄無效");return;// 代表無法搜索}// 2、dir 不是 null, 存在,一定是目錄對(duì)象。// 獲取當(dāng)前目錄下的全部一級(jí)文件對(duì)象。File[] files = dir.listFiles();System.out.println("找到 " + files.length + " 個(gè)一級(jí)文件");// 3、判斷當(dāng)前目錄下是否存在一級(jí)文件對(duì)象,以及是否可以拿到一級(jí)文件對(duì)象。if(files != null && files.length >0) {// 4、遍歷全部一級(jí)文件對(duì)象。for (File f : files) {//5、判斷文件是否是文件,還是文件夾if (f.isFile()) {// 是文件,判斷這個(gè)文件名是否是我們要找的if (f.getName().contains(fileName)) {System.out.println("找到了:" + f.getAbsolutePath());Runtime runtime =Runtime.getRuntime();runtime.exec(f.getAbsolutePath());} else {// 是文件夾,繼續(xù)重復(fù)這個(gè)過程(遞歸)System.out.println("正在搜索子目錄:" + f.getAbsolutePath());searchFile(f, fileName);}}}}}
}
1.3.1.5 遞歸刪除目錄下的非空文件
import java.io.File;public class FileTest1 {public static void main(String[] args) {// 目標(biāo):刪除非空文件夾。獨(dú)立功能獨(dú)立成方法。File dir = new File("D:\\resource");deleteDir(dir);}public static void deleteDir(File dir){if (dir == null || !dir.exists()){return;}if (dir.isFile()){dir.delete();}// 1、dir存在且是文件夾。拿里面的一級(jí)文件對(duì)象File[] files = dir.listFiles();if (files ==null){return;}if(files.length ==0){dir.delete();return;}// 2、這是一個(gè)有內(nèi)容的文件夾 ,干掉里面的內(nèi)容,再干掉自己。for (File file : files) {if(file.isFile()){dir.delete();}else {deleteDir(file);}}dir.delete();}
}
1.3.1.6 啤酒問題
  • 啤酒2元一瓶,4個(gè)蓋子可以換一瓶,2個(gè)空瓶可以換一瓶,請(qǐng)問10元可以喝多少瓶?
public class FileTest2 {private static int totalNumber;private static int lastCoverNumber;private static int lastBottleNumber;public static void main(String[] args) {// 啤酒問題:啤酒2元一瓶,4個(gè)蓋子可以換一瓶,2個(gè)空瓶可以換一瓶,請(qǐng)問10元可以喝多少瓶?buy(10);}private static void buy(int money){// 1、先買了再說int buyNumber =money/2;totalNumber += buyNumber;// 2、把蓋子和瓶子換算成錢繼續(xù)買// 計(jì)算本輪總的蓋子和瓶子數(shù)int allBottleNumber =buyNumber +lastBottleNumber;int allCoverNumber =buyNumber+lastCoverNumber;int allMoney =0;if(allBottleNumber >= 2) {allMoney += (allBottleNumber / 2) * 2;}lastBottleNumber = allBottleNumber % 2;if(allCoverNumber>=4) {allMoney += (allCoverNumber / 4) * 2;}lastCoverNumber = allCoverNumber%4;if(allMoney >=2){buy(allMoney);}}
}
總數(shù):15
剩余蓋子數(shù):3
剩余瓶子數(shù):1

1.4 簡(jiǎn)單文件操作的案例

目標(biāo):
改變某個(gè)文件夾下視頻的序號(hào),要求從19開始。

在這里插入圖片描述

import java.io.File;public class FileTest {public static void main(String[] args)  {// 目標(biāo):改變某個(gè)文件夾下視頻的序號(hào),要求從19開始。File dir = new File( "E:\\磊哥面授-黃埔一期\\Java從入門至大牛課程\\day02-面向?qū)ο蟾呒?jí)部分\\視頻");//1、拿到下面全部的視頻,一級(jí)文件對(duì)象File[] videos = dir.listFiles();// 2、一個(gè)一個(gè)的找for(File video: videos) {//3、拿到它的名字,改成新名字String name = video.getName();// name =“10、多態(tài)、繼承....10String index = name.substring(0, name.indexOf("、"));String lastName = name.substring(name.indexOf("、"));String newName = (Integer.valueOf(index) + 18) + lastName;// 4、正式改名video.renameTo(new File(dir, newName));}}
}
http://m.risenshineclean.com/news/58830.html

相關(guān)文章:

  • 企業(yè)網(wǎng)站建設(shè)方案書范文浙江新手網(wǎng)絡(luò)推廣
  • 做頭像網(wǎng)站長(zhǎng)沙網(wǎng)紅打卡景點(diǎn)排行榜
  • 無錫制作網(wǎng)站公司賣友情鏈接的哪來那么多網(wǎng)站
  • wordpress做的網(wǎng)站嗎整站seo外包
  • 外貿(mào)專業(yè)網(wǎng)站的公司江西網(wǎng)絡(luò)推廣seo
  • 廣州知名網(wǎng)站建設(shè)后臺(tái)管理便捷淘寶店鋪如何推廣
  • 中山 網(wǎng)站制作重慶seo優(yōu)化
  • 邯鄲網(wǎng)站建設(shè)公司哪家好建站軟件可以不通過網(wǎng)絡(luò)建設(shè)嗎
  • 怎么樣分析一個(gè)網(wǎng)站百度搜索引擎seo
  • b2b電子商務(wù)網(wǎng)站開發(fā)在線排名優(yōu)化工具
  • 公司官網(wǎng)定制上海網(wǎng)站排名seo公司哪家好
  • ui設(shè)計(jì)是什么職位aso優(yōu)化是什么
  • 怎么修改網(wǎng)站源文件十大基本營(yíng)銷方式
  • 零食網(wǎng)站制作的建設(shè)大綱域名查詢138ip
  • 四大網(wǎng)站手機(jī)百度引擎搜索入口
  • 東營(yíng)市做網(wǎng)站優(yōu)化中國(guó)seo誰(shuí)最厲害
  • 石家莊企業(yè)網(wǎng)絡(luò)推廣廣東網(wǎng)站se0優(yōu)化公司
  • 網(wǎng)站開發(fā)需要哪些技術(shù)搜索引擎排名優(yōu)化是什么意思
  • 重慶網(wǎng)網(wǎng)站建設(shè)公司長(zhǎng)春網(wǎng)站建設(shè)技術(shù)支持
  • 意大利室內(nèi)設(shè)計(jì)網(wǎng)站愛網(wǎng)站關(guān)鍵詞挖掘
  • 哪些網(wǎng)站用.ren域名競(jìng)價(jià)推廣托管服務(wù)
  • 廣西城鄉(xiāng)建設(shè)廳網(wǎng)站外貿(mào)seo網(wǎng)站推廣
  • o2o網(wǎng)站建設(shè)最好公司排名搜索關(guān)鍵詞技巧
  • 如何做純文本網(wǎng)站服裝市場(chǎng)調(diào)研報(bào)告
  • 郴州網(wǎng)站開發(fā)公司網(wǎng)絡(luò)營(yíng)銷與直播電商專業(yè)就業(yè)前景
  • 如何看網(wǎng)站是用什么框架做的如何做線上銷售和推廣
  • 外國(guó)網(wǎng)站開發(fā)如何去推廣
  • 品牌建設(shè) 網(wǎng)站怎樣在平臺(tái)上發(fā)布信息推廣
  • 正宗營(yíng)銷型網(wǎng)站建設(shè)中國(guó)科技新聞網(wǎng)
  • 國(guó)內(nèi)網(wǎng)站建設(shè)公司b站視頻推廣網(wǎng)站2023