홈>
이 코드에 어떤 문제가 있습니까? 텍스트 파일은
bin\Debug
에서 작성되지 않습니다
디렉토리!
string path = Environment.CurrentDirectory + "/" + "Contacts.txt";
if (!File.Exists(path))
{
File.CreateText(path);
MessageBox.Show("file created successfully");
}
using (StreamWriter sw = new StreamWriter("path", true))
{
sw.WriteLine(txtCntname1.Text + "," + txtCntnum1.Text + "," + txtCntnum2.Text + "," + txtCntnum3.Text + ",");
sw.Close();
}
- 답변 # 1
- 답변 # 2
path
와는 별도로 따옴표로 묶지 말아야합니다 :using (StreamWriter sw = new StreamWriter("path", true))
Environment.CurrentDirectory
를 사용하지 마십시오 !작업 디렉토리만 나타내므로 실행 파일을 시작한 디렉토리를 항상 나타내는 것은 아닙니다.Assembly.GetExecutingAssembly().Location
를 사용하십시오 다음을 사용하여 실행중인 어셈블리의 전체 경로를 얻은 다음 디렉토리에서 추출하십시오.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
물론 절대 경로를 사용하지 않는 것도 가능합니다. 디렉토리를 지정하지 않으면 서 상대 경로를 사용하여 파일을 만들 수 있습니다 :
AppDomain.CurrentDomain.BaseDirectory
수정 :
경로를 어떻게 구성했는지 확인하고
File.CreateText("Contacts.txt")
도 이용하십시오 경로를 구축하려면 :Path.Combine
var appBaseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var contactsFilePath = Path.Combine(appBaseDir, "Contacts.txt");
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- JavaScript 변수를 HTML div에 '출력'하는 방법
- python - 문자열에서 특정 문자 제거
EXE 디렉토리를 계산하는 두 가지 방법이 있습니다 :
1) 암시 적파일 이름 만 사용할 수 있습니다. 이 경우 파일은 EXE 파일과 동일한 폴더에 생성됩니다 :
2) 명시 적EXE의 디렉토리를 얻는 확실한 방법이 필요하다면,
AppDomain
를 사용해야합니다 :그러면 문자열을 수동으로 연결하여 경로를 형성하는 대신 Path.Combine 메서드를 사용하십시오.
코드 (
Assembly.GetExecutingAssembly().Location
@TobiasTengler에서 제공하는)는 예를 들어 Excel/Word 추가 기능에서 작동하지 않습니다.