文件夹,文件这是常见的,怎么创建?要不要先判断是否存在?非常非常基础的知识点。

代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; namespace dazilianxi.wenjian
{
public class WenJianLei
{
const string main_Dir = @"D:/WenTest";
const string wenjianpath = @"D:\WenTest\second.txt";
//根据文件夹全路径创建文件夹
public static void CreateDir(string subdir)
{
string path = main_Dir + "/" + subdir;
if (Directory.Exists(path))
{
Console.WriteLine("此文件夹已经存在,无需创建!");
}
else
{
Directory.CreateDirectory(path);
Console.WriteLine(path+" 创建成功!");
}
}
//根据文件夹名称创建文件夹
public static void CreateNameDir(string name)
{
if(name.Length!=)
{
CreateDir(name);
}
else
{
Console.WriteLine("必须指定文件夹名称,才能创建!");
}
} public static void CreateWenJian()
{
if (!File.Exists(wenjianpath))
{
Console.WriteLine("文件创建成功!");
TextWriter tw = new StreamWriter(wenjianpath);
tw.WriteLine("创建完文件加的第一行~~");
tw.Close();
}
else
{
TextWriter tw = new StreamWriter(wenjianpath,true);
tw.WriteLine("已经存在文件,再加一行吧~~");
tw.Close();
}
}
//文件大小计算
public static void CreateMoreSize()
{
long size = GetDirectoryLength(@"D:\WenTest");
if (!File.Exists(wenjianpath))
{
if (size <= )
{
TextWriter tw = new StreamWriter(wenjianpath);
tw.WriteLine("创建完文件加的第一行~~");
tw.Close();
}
else
{
Console.WriteLine("无法创建,已经超过限定大小了~~");
} }
else
{
TextWriter tw = new StreamWriter(wenjianpath, true);
tw.WriteLine("已经存在文件,再加一行吧~~");
tw.Close();
}
}
public static long GetDirectoryLength(string path)
{
if (!Directory.Exists(path))
{
return ;
} long size = ; //遍历指定路径下的所有文件
DirectoryInfo di = new DirectoryInfo(path);
foreach (FileInfo fi in di.GetFiles())
{
size += fi.Length;
} //遍历指定路径下的所有文件夹
DirectoryInfo[] dis = di.GetDirectories();
if (dis.Length > )
{
for (int i = ; i < dis.Length; i++)
{
size += GetDirectoryLength(dis[i].FullName);
}
} return size;
}
}
}

调用代码

 // wenjian.WenJianLei.CreateNameDir("mytest1");
//wenjian.WenJianLei.CreateWenJian();
wenjian.WenJianLei.CreateMoreSize();

来源:http://www.cnblogs.com/darrenji/p/3652062.html

http://www.cnblogs.com/hqbhonker/p/3494042.html

(C#基础)创建文件,文件夹的更多相关文章

  1. Java 基础【13】 文件(文件夹) 创建和删除

    使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识,但实战项目中还是需要知晓细节. 比如 File 类中的 mkdir() 和 mkdirs() 的区别. JDK API ...

  2. Java 基础【16】 文件(文件夹) 创建和删除

    使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识,但实战项目中还是需要知晓细节. 比如 File 类中的 mkdir() 和 mkdirs() 的区别. JDK API ...

  3. Unity中一键创建常用文件夹

    Unity中一键创建常用文件夹 说明 项目测试版本Unity5.3. 这个一个小工具:功能非常简单,就是一键给新建工程添加所有文件夹.到此结束. 但是具体咋操作呢? 与把大象装进冰箱一样,三步,下载代 ...

  4. JS读取/创建本地文件及目录文件夹的方法

    原文链接:http://www.cnblogs.com/ayan/archive/2013/04/22/3036072.html 注:以下操作只在IE下有效! Javascript是网页制作中离不开的 ...

  5. MFC 如何创建浏览文件夹的对话框

    如何创建浏览文件夹的对话框 如何创建浏览文件夹的对话框 CString CXXXXDlg::GetOpenfolderPath() { BROWSEINFO bi; ZeroMemory(&b ...

  6. 命令行创建畸形文件夹+畸形目录管理工具(DeformityPath)

    命令行创建畸形文件夹: 第一步:在运行中输入cmd,回车,打开命令行窗口 第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘(输入d:) 第三步:输入 MD 123..\ 回车,注意文件夹名 ...

  7. Java中创建操作文件和文件夹的工具类

    Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  8. 通过jcifs.jar 创建远程文件和文件夹

    package com.project.remoteUrl;import java.io.File;import java.io.InputStream;import java.io.OutputSt ...

  9. eclipse创建一个文件夹

    如何给eclipse创建一个文件夹,便于项目的管理:有时我们的eclipse中会有很多项目的,有的是公司的如Project1,Project2,Project3....还有的呢, 也可能是自己平时做的 ...

随机推荐

  1. 20145208蔡野 《网络对抗》逆向及BOF基础实践

    20145208蔡野 <网络对抗>逆向及BOF基础实践 逆向及Bof基础实践 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函 ...

  2. 高通平台启动log概述(PBL log、sbl1 log、kernel log)【转】

    本文转自:https://blog.csdn.net/RadianceBlau/article/details/78416776?utm_source=blogxgwz9 高通平台启动log概述(PB ...

  3. ubuntu下进程kidle_inject致使编译软件很慢

    一.背景 某一天编译一个程序发现半天都没编译ok,于是使用top一看发现有个别进程占用cpu奇高,遂出此文 二.怎么解决? 2.1 什么进程占据很高cpu 名为kidle_inject,同时开启了好几 ...

  4. ubuntu下交叉编译ffmpeg

    环境:ubuntu16.04 交叉编译器版本:4.8.3 依赖x264,lame x264: 1.wget ftp://ftp.videolan.org/pub/x264/snapshots/last ...

  5. js中this关键字的使用

    <script> //题目一:理解r1与r2的输出 function addFactory(){ var adder = 5; return function(data){ adder + ...

  6. NS3 fifth.cc 拥塞窗口实例

    fifth.cc /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ /* * This progr ...

  7. Ajax 随笔

    例子:实现AJAX效果(投票例子) 后端代码 前端代码 原理是使用HTTP状态码204的特性(请求成功,但是不会返回内容,所以浏览器不会进行跳转) 例子:实现AJAX效果(投票例子2) 前端代码 原理 ...

  8. Goroutines和Channels(二)

    网络编程是并发大显身手的一个领域,由于服务器是最典型的需要同时处理很多连接的程序,这些连接一般来自于彼此独立的客户端. 本小节,我们会讲解go语言的net包,这个包提供编写一个网络客户端或者服务器程序 ...

  9. Windows10中注册 regsvr32 xxx.ocx报错but the call to DIIRegisterServer failed with error code 0x80040200

    网站中有读取居民身份证的机器,需要安装一些注册activeX控件然后进入指定目录下执行以下命令regsvr32 xxx.ocx报了个错: but the call to DIIRegisterServ ...

  10. Codeforces 918D - MADMAX

    918D - MADMAX 思路: dp+记忆化搜索 状态:dp[i][j][w]表示先手在i节点,后手在j节点,这一轮的字母为w的结果,如果为true,则表示先手必赢,否则后手必赢. 状态转移:如果 ...